;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
;
; +-------------------------------------------------------------------------+
; | This file is generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 |
; +-------------------------------------------------------------------------+
;
; Input MD5 : C65B35C625F4E8F5BC789E4E0E3BEA4A
; File Name : u:\work\c65b35c625f4e8f5bc789e4e0e3bea4a_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 10000000
; Section 1. (virtual address 00001000)
; Virtual size : 0000510E ( 20750.)
; Section size in file : 0000510E ( 20750.)
; Offset to raw data for section: 00001000
; Flags 60000020: Text Executable Readable
; Alignment : default
; OS type : MS Windows
; Application type: Executable 32bit
include uni.inc ; see unicode subdir of ida for info on unicode
.686p
.mmx
.model flat
; ===========================================================================
; Segment type: Pure code
; Segment permissions: Read/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 10001000h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001000 proc near ; CODE XREF: sub_1000102A+14p
; WinMain(x,x,x,x):loc_10002C8Dp
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
and [ebp+var_4], 0
push esi
push ebx
mov eax, large fs:30h
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov ebx, [eax+8]
mov [ebp+var_4], ebx
pop ebx
pop esi
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_10001000 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_1000102A proc near ; CODE XREF: WinMain(x,x,x,x):loc_10002C73p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
and [ebp+var_4], 0
push eax
push ebx
push ecx
push edx
push ebp
push esi
push edi
nop
nop
call sub_10001000
xor ebp, ebp
nop
nop
mov ebx, [eax+3Ch]
add ebx, eax
mov edx, [ebx+78h]
add edx, eax
nop
nop
mov ecx, [edx+20h]
add ecx, eax
nop
nop
mov esi, [edx+1Ch]
add esi, eax
loc_1000105F: ; CODE XREF: sub_1000102A+5Aj
mov edi, [ecx]
add edi, eax
nop
nop
cmp dword ptr [edi+4], 41636F72h
jnz short loc_1000107C
add esi, ebp
mov esi, [esi]
nop
nop
add esi, eax
mov eax, esi
jmp short loc_10001086
; ---------------------------------------------------------------------------
align 4
loc_1000107C: ; CODE XREF: sub_1000102A+42j
add ecx, 4
add ebp, 4
nop
nop
jmp short loc_1000105F
; ---------------------------------------------------------------------------
loc_10001086: ; CODE XREF: sub_1000102A+4Ej
pop edi
nop
nop
pop esi
pop ebp
pop edx
pop ecx
pop ebx
nop
nop
mov [ebp+var_4], eax
pop eax
nop
nop
mov eax, [ebp+var_4]
pop edi
pop esi
pop ebx
leave
retn
sub_1000102A endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_1000109E(char *Str, int, int)
sub_1000109E proc near ; CODE XREF: sub_10001D53+1Cp
; sub_10001D53+3Dp ...
var_118 = dword ptr -118h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = dword ptr -10Ch
var_108 = dword ptr -108h
var_104 = byte ptr -104h
var_100 = byte ptr -100h
Str = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 118h
push ebx
push esi
push edi
push 1 ; int
mov eax, [ebp+arg_8]
imul eax, 0Ah
push eax ; Size
call sub_10002DEB
pop ecx
pop ecx
mov [ebp+var_118], eax
nop
nop
nop
nop
cmp [ebp+var_118], 0
jnz short loc_100010D4
xor eax, eax
jmp loc_100012DF
; ---------------------------------------------------------------------------
loc_100010D4: ; CODE XREF: sub_1000109E+2Dj
and [ebp+var_114], 0
jmp short loc_100010EA
; ---------------------------------------------------------------------------
loc_100010DD: ; CODE XREF: sub_1000109E+6Fj
mov eax, [ebp+var_114]
inc eax
mov [ebp+var_114], eax
loc_100010EA: ; CODE XREF: sub_1000109E+3Dj
cmp [ebp+var_114], 0FFh
jg short loc_1000110F
nop
nop
nop
nop
mov eax, [ebp+var_114]
mov cl, byte ptr [ebp+var_114]
mov [ebp+eax+var_100], cl
jmp short loc_100010DD
; ---------------------------------------------------------------------------
loc_1000110F: ; CODE XREF: sub_1000109E+56j
and [ebp+var_110], 0
and [ebp+var_108], 0
jmp short loc_1000112C
; ---------------------------------------------------------------------------
loc_1000111F: ; CODE XREF: sub_1000109E+12Aj
mov eax, [ebp+var_108]
inc eax
mov [ebp+var_108], eax
loc_1000112C: ; CODE XREF: sub_1000109E+7Fj
cmp [ebp+var_108], 0FFh
jg loc_100011CD
nop
nop
nop
nop
push [ebp+Str] ; Str
call _strlen
pop ecx
mov ecx, eax
mov eax, [ebp+var_108]
xor edx, edx
div ecx
mov eax, [ebp+Str]
movsx eax, byte ptr [eax+edx]
mov ecx, [ebp+var_108]
movzx ecx, [ebp+ecx+var_100]
mov edx, [ebp+var_110]
add edx, eax
add ecx, edx
mov eax, ecx
cdq
mov ecx, 100h
idiv ecx
mov [ebp+var_110], edx
nop
nop
nop
nop
mov eax, [ebp+var_108]
mov al, [ebp+eax+var_100]
mov [ebp+var_104], al
mov eax, [ebp+var_108]
mov ecx, [ebp+var_110]
mov cl, [ebp+ecx+var_100]
mov [ebp+eax+var_100], cl
mov eax, [ebp+var_110]
mov cl, [ebp+var_104]
mov [ebp+eax+var_100], cl
jmp loc_1000111F
; ---------------------------------------------------------------------------
loc_100011CD: ; CODE XREF: sub_1000109E+98j
and [ebp+var_108], 0
and [ebp+var_110], 0
and [ebp+var_108], 0
jmp short loc_100011F1
; ---------------------------------------------------------------------------
loc_100011E4: ; CODE XREF: sub_1000109E+236j
mov eax, [ebp+var_108]
inc eax
mov [ebp+var_108], eax
loc_100011F1: ; CODE XREF: sub_1000109E+144j
mov eax, [ebp+var_108]
cmp eax, [ebp+arg_8]
jge loc_100012D9
mov eax, [ebp+var_108]
cdq
mov ecx, 100h
idiv ecx
mov [ebp+var_10C], edx
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, [ebp+var_10C]
movzx eax, [ebp+eax+var_100]
add eax, [ebp+var_110]
cdq
mov ecx, 100h
idiv ecx
mov [ebp+var_110], edx
mov eax, [ebp+var_10C]
mov al, [ebp+eax+var_100]
mov [ebp+var_104], al
mov eax, [ebp+var_10C]
mov ecx, [ebp+var_110]
mov cl, [ebp+ecx+var_100]
mov [ebp+eax+var_100], cl
mov eax, [ebp+var_110]
mov cl, [ebp+var_104]
mov [ebp+eax+var_100], cl
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, [ebp+arg_4]
add eax, [ebp+var_108]
movsx ecx, byte ptr [eax]
mov eax, [ebp+var_10C]
movzx eax, [ebp+eax+var_100]
mov edx, [ebp+var_110]
movzx edx, [ebp+edx+var_100]
add eax, edx
cdq
mov esi, 100h
idiv esi
movzx eax, [ebp+edx+var_100]
xor ecx, eax
mov eax, [ebp+var_118]
add eax, [ebp+var_108]
mov [eax], cl
nop
nop
nop
nop
jmp loc_100011E4
; ---------------------------------------------------------------------------
loc_100012D9: ; CODE XREF: sub_1000109E+15Cj
mov eax, [ebp+var_118]
loc_100012DF: ; CODE XREF: sub_1000109E+31j
pop edi
pop esi
pop ebx
leave
retn
sub_1000109E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_100012E4 proc near ; CODE XREF: WinMain(x,x,x,x)+172p
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = byte ptr -8
Size = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 10h
mov eax, [ebp+arg_4]
shl eax, 4
mov [ebp+Size], eax
push 1 ; int
push [ebp+Size] ; Size
call sub_10002DEB
pop ecx
pop ecx
mov [ebp+var_10], eax
cmp [ebp+var_10], 0
jnz short loc_1000130C
xor eax, eax
jmp short locret_10001336
; ---------------------------------------------------------------------------
loc_1000130C: ; CODE XREF: sub_100012E4+22j
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_C]
push eax
push 2
call dword_1000A7DC
push [ebp+arg_8]
push [ebp+arg_4]
push [ebp+arg_0]
push [ebp+Size]
push [ebp+var_10]
push 2
call dword_1000A7C8
mov eax, [ebp+var_10]
locret_10001336: ; CODE XREF: sub_100012E4+26j
leave
retn
sub_100012E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001338 proc near ; CODE XREF: sub_10001365+18p
; sub_10001365+AFp ...
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ebx
push esi
push edi
nop
nop
nop
nop
mov eax, [ebp+arg_0]
xor edx, edx
div [ebp+arg_4]
test edx, edx
jnz short loc_10001353
mov eax, [ebp+arg_0]
jmp short loc_10001360
; ---------------------------------------------------------------------------
loc_10001353: ; CODE XREF: sub_10001338+14j
mov eax, [ebp+arg_0]
xor edx, edx
div [ebp+arg_4]
inc eax
imul eax, [ebp+arg_4]
loc_10001360: ; CODE XREF: sub_10001338+19j
pop edi
pop esi
pop ebx
pop ebp
retn
sub_10001338 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001365 proc near ; CODE XREF: sub_100014CA+A9p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
nop
nop
nop
nop
mov eax, [ebp+arg_8]
push dword ptr [eax+38h]
mov eax, [ebp+arg_8]
push dword ptr [eax+54h]
call sub_10001338
pop ecx
pop ecx
mov [ebp+var_4], eax
and [ebp+var_8], 0
jmp short loc_10001394
; ---------------------------------------------------------------------------
loc_1000138D: ; CODE XREF: sub_10001365:loc_100014BDj
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
loc_10001394: ; CODE XREF: sub_10001365+26j
mov eax, [ebp+arg_8]
movzx eax, word ptr [eax+6]
cmp [ebp+var_8], eax
jge loc_100014C2
nop
nop
nop
nop
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+var_8]
imul ecx, 28h
mov edx, [ebp+arg_C]
mov eax, [edx+eax+14h]
mov edx, [ebp+arg_C]
add eax, [edx+ecx+10h]
cmp eax, [ebp+arg_4]
jbe short loc_100013CE
xor eax, eax
jmp loc_100014C5
; ---------------------------------------------------------------------------
loc_100013CE: ; CODE XREF: sub_10001365+60j
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx+eax+0Ch], 0
jz short loc_10001455
nop
nop
nop
nop
nop
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+arg_C]
cmp dword ptr [ecx+eax+8], 0
jz short loc_10001424
mov eax, [ebp+arg_8]
push dword ptr [eax+38h]
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+var_8]
imul ecx, 28h
mov edx, [ebp+arg_C]
mov eax, [edx+eax+0Ch]
mov edx, [ebp+arg_C]
add eax, [edx+ecx+8]
push eax
call sub_10001338
pop ecx
pop ecx
mov [ebp+var_4], eax
nop
nop
nop
nop
jmp short loc_10001453
; ---------------------------------------------------------------------------
loc_10001424: ; CODE XREF: sub_10001365+8Cj
nop
nop
nop
nop
mov eax, [ebp+arg_8]
push dword ptr [eax+38h]
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+var_8]
imul ecx, 28h
mov edx, [ebp+arg_C]
mov eax, [edx+eax+0Ch]
mov edx, [ebp+arg_C]
add eax, [edx+ecx+10h]
push eax
call sub_10001338
pop ecx
pop ecx
mov [ebp+var_4], eax
loc_10001453: ; CODE XREF: sub_10001365+BDj
jmp short loc_100014BD
; ---------------------------------------------------------------------------
loc_10001455: ; CODE XREF: sub_10001365+77j
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+var_8]
imul ecx, 28h
mov edx, [ebp+arg_C]
mov esi, [ebp+arg_C]
mov eax, [edx+eax+8]
cmp eax, [esi+ecx+10h]
jnb short loc_10001498
nop
nop
nop
mov eax, [ebp+arg_8]
push dword ptr [eax+38h]
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+arg_C]
push dword ptr [ecx+eax+8]
call sub_10001338
pop ecx
pop ecx
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
jmp short loc_100014BD
; ---------------------------------------------------------------------------
loc_10001498: ; CODE XREF: sub_10001365+10Aj
mov eax, [ebp+arg_8]
push dword ptr [eax+38h]
mov eax, [ebp+var_8]
imul eax, 28h
mov ecx, [ebp+arg_C]
push dword ptr [ecx+eax+8]
call sub_10001338
pop ecx
pop ecx
mov ecx, [ebp+var_4]
add ecx, eax
mov [ebp+var_4], ecx
nop
nop
nop
loc_100014BD: ; CODE XREF: sub_10001365:loc_10001453j
; sub_10001365+131j
jmp loc_1000138D
; ---------------------------------------------------------------------------
loc_100014C2: ; CODE XREF: sub_10001365+39j
mov eax, [ebp+var_4]
loc_100014C5: ; CODE XREF: sub_10001365+64j
pop edi
pop esi
pop ebx
leave
retn
sub_10001365 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_100014CA proc near ; CODE XREF: sub_10001CF2+20p
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
push ebp
mov ebp, esp
sub esp, 18h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov [ebp+var_18], eax
cmp [ebp+arg_4], 40h
jnb short loc_100014E6
xor eax, eax
jmp loc_100017AD
; ---------------------------------------------------------------------------
loc_100014E6: ; CODE XREF: sub_100014CA+13j
mov eax, [ebp+var_18]
movzx eax, word ptr [eax]
cmp eax, 5A4Dh
jz short loc_100014FA
xor eax, eax
jmp loc_100017AD
; ---------------------------------------------------------------------------
loc_100014FA: ; CODE XREF: sub_100014CA+27j
mov eax, [ebp+var_18]
mov eax, [eax+3Ch]
add eax, 0F8h
cmp [ebp+arg_4], eax
jge short loc_10001511
xor eax, eax
jmp loc_100017AD
; ---------------------------------------------------------------------------
loc_10001511: ; CODE XREF: sub_100014CA+3Ej
mov eax, [ebp+var_18]
mov ecx, [ebp+var_18]
add ecx, [eax+3Ch]
mov [ebp+var_8], ecx
mov eax, [ebp+var_8]
cmp dword ptr [eax], 4550h
jz short loc_1000152F
xor eax, eax
jmp loc_100017AD
; ---------------------------------------------------------------------------
loc_1000152F: ; CODE XREF: sub_100014CA+5Cj
mov eax, [ebp+var_8]
movzx eax, word ptr [eax+16h]
and eax, 2000h
test eax, eax
jnz short loc_10001553
xor eax, eax
test eax, eax
jnz short loc_10001553
mov eax, [ebp+var_8]
movzx eax, word ptr [eax+14h]
cmp eax, 0E0h
jz short loc_1000155A
loc_10001553: ; CODE XREF: sub_100014CA+73j
; sub_100014CA+79j
xor eax, eax
jmp loc_100017AD
; ---------------------------------------------------------------------------
loc_1000155A: ; CODE XREF: sub_100014CA+87j
nop
nop
mov eax, [ebp+var_8]
add eax, 0F8h
mov [ebp+var_4], eax
push [ebp+var_4]
push [ebp+var_8]
push [ebp+arg_4]
push [ebp+var_18]
call sub_10001365
add esp, 10h
mov ecx, [ebp+arg_14]
mov [ecx], eax
nop
nop
nop
nop
mov eax, [ebp+arg_14]
cmp dword ptr [eax], 0
jnz short loc_10001593
xor eax, eax
jmp loc_100017AD
; ---------------------------------------------------------------------------
loc_10001593: ; CODE XREF: sub_100014CA+C0j
push 40h
push 1000h
mov eax, [ebp+arg_14]
push dword ptr [eax]
push 0
call dword_1000A858
mov ecx, [ebp+arg_10]
mov [ecx], eax
mov eax, [ebp+arg_10]
cmp dword ptr [eax], 0
jz loc_100017AA
mov eax, [ebp+var_8]
mov eax, [eax+54h]
mov [ebp+var_14], eax
nop
nop
nop
nop
nop
nop
nop
and [ebp+var_10], 0
jmp short loc_100015D5
; ---------------------------------------------------------------------------
loc_100015CE: ; CODE XREF: sub_100014CA:loc_10001613j
mov eax, [ebp+var_10]
inc eax
mov [ebp+var_10], eax
loc_100015D5: ; CODE XREF: sub_100014CA+102j
mov eax, [ebp+var_8]
movzx eax, word ptr [eax+6]
cmp [ebp+var_10], eax
jge short loc_10001615
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+var_4]
cmp dword ptr [ecx+eax+14h], 0
jz short loc_10001613
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+var_4]
mov eax, [ecx+eax+14h]
cmp eax, [ebp+var_14]
jnb short loc_10001613
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+var_4]
mov eax, [ecx+eax+14h]
mov [ebp+var_14], eax
loc_10001613: ; CODE XREF: sub_100014CA+125j
; sub_100014CA+137j
jmp short loc_100015CE
; ---------------------------------------------------------------------------
loc_10001615: ; CODE XREF: sub_100014CA+115j
nop
nop
nop
nop
nop
nop
push [ebp+var_14]
push [ebp+var_18]
mov eax, [ebp+arg_10]
push dword ptr [eax]
call sub_100027F9
add esp, 0Ch
nop
nop
nop
nop
mov eax, [ebp+arg_10]
mov eax, [eax]
mov ecx, [ebp+arg_10]
mov ecx, [ecx]
add ecx, [eax+3Ch]
mov eax, [ebp+arg_8]
mov [eax], ecx
nop
nop
nop
nop
nop
mov eax, [ebp+arg_8]
mov eax, [eax]
add eax, 0F8h
mov ecx, [ebp+arg_C]
mov [ecx], eax
nop
nop
nop
mov eax, [ebp+arg_8]
mov eax, [eax]
push dword ptr [eax+38h]
mov eax, [ebp+arg_8]
mov eax, [eax]
push dword ptr [eax+54h]
call sub_10001338
pop ecx
pop ecx
mov ecx, [ebp+arg_10]
mov ecx, [ecx]
add ecx, eax
mov [ebp+var_C], ecx
nop
nop
nop
nop
nop
nop
and [ebp+var_10], 0
jmp short loc_1000168F
; ---------------------------------------------------------------------------
loc_10001688: ; CODE XREF: sub_100014CA:loc_100017A5j
mov eax, [ebp+var_10]
inc eax
mov [ebp+var_10], eax
loc_1000168F: ; CODE XREF: sub_100014CA+1BCj
mov eax, [ebp+arg_8]
mov eax, [eax]
movzx eax, word ptr [eax+6]
cmp [ebp+var_10], eax
jge loc_100017AA
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
cmp dword ptr [ecx+eax+0Ch], 0
jz short loc_100016CA
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
mov edx, [ebp+arg_10]
mov edx, [edx]
add edx, [ecx+eax+0Ch]
mov [ebp+var_C], edx
loc_100016CA: ; CODE XREF: sub_100014CA+1E7j
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
cmp dword ptr [ecx+eax+10h], 0
jz loc_1000177F
nop
nop
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
push dword ptr [ecx+eax+10h]
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
mov edx, [ebp+var_18]
add edx, [ecx+eax+14h]
push edx
push [ebp+var_C]
call sub_100027F9
add esp, 0Ch
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
mov edx, [ebp+var_10]
imul edx, 28h
mov esi, [ebp+arg_C]
mov esi, [esi]
mov eax, [ecx+eax+8]
cmp eax, [esi+edx+10h]
jnb short loc_10001757
mov eax, [ebp+arg_8]
mov eax, [eax]
push dword ptr [eax+38h]
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
push dword ptr [ecx+eax+10h]
call sub_10001338
pop ecx
pop ecx
mov ecx, [ebp+var_C]
add ecx, eax
mov [ebp+var_C], ecx
jmp short loc_1000177D
; ---------------------------------------------------------------------------
loc_10001757: ; CODE XREF: sub_100014CA+263j
mov eax, [ebp+arg_8]
mov eax, [eax]
push dword ptr [eax+38h]
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
push dword ptr [ecx+eax+8]
call sub_10001338
pop ecx
pop ecx
mov ecx, [ebp+var_C]
add ecx, eax
mov [ebp+var_C], ecx
loc_1000177D: ; CODE XREF: sub_100014CA+28Bj
jmp short loc_100017A5
; ---------------------------------------------------------------------------
loc_1000177F: ; CODE XREF: sub_100014CA+210j
mov eax, [ebp+arg_8]
mov eax, [eax]
push dword ptr [eax+38h]
mov eax, [ebp+var_10]
imul eax, 28h
mov ecx, [ebp+arg_C]
mov ecx, [ecx]
push dword ptr [ecx+eax+8]
call sub_10001338
pop ecx
pop ecx
mov ecx, [ebp+var_C]
add ecx, eax
mov [ebp+var_C], ecx
loc_100017A5: ; CODE XREF: sub_100014CA:loc_1000177Dj
jmp loc_10001688
; ---------------------------------------------------------------------------
loc_100017AA: ; CODE XREF: sub_100014CA+E8j
; sub_100014CA+1D1j
push 1
pop eax
loc_100017AD: ; CODE XREF: sub_100014CA+17j
; sub_100014CA+2Bj ...
pop edi
pop esi
pop ebx
leave
retn
sub_100014CA endp
; [00000011 BYTES: COLLAPSED FUNCTION __uncaught_exception(void). PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_100017C3(char *Source)
sub_100017C3 proc near ; CODE XREF: sub_10001A2B+1Fp
Dst = dword ptr -4
Source = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 1 ; int
push 100h ; Size
call sub_10002DEB
pop ecx
pop ecx
mov [ebp+Dst], eax
call ?__uncaught_exception@@YA_NXZ ; __uncaught_exception(void)
test eax, eax
jz short loc_1000181E
push 100h ; Size
push 0 ; Val
push [ebp+Dst] ; Dst
call _memset
add esp, 0Ch
nop
nop
nop
nop
nop
nop
push 100h
push [ebp+Dst]
push 0
call dword_1000A808
push [ebp+Source] ; Source
push [ebp+Dst] ; Dest
call _strcat
pop ecx
pop ecx
mov eax, [ebp+Dst]
jmp short loc_10001820
; ---------------------------------------------------------------------------
loc_1000181E: ; CODE XREF: sub_100017C3+1Fj
xor eax, eax
loc_10001820: ; CODE XREF: sub_100017C3+59j
pop edi
pop esi
pop ebx
leave
retn
sub_100017C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001825 proc near ; CODE XREF: sub_10001A2B+12Bp
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
mov eax, [ebp+arg_0]
cmp dword ptr [eax+0A0h], 0
jz short loc_1000184A
mov eax, [ebp+arg_0]
cmp dword ptr [eax+0A4h], 0
jz short loc_1000184A
mov [ebp+var_4], 1
jmp short loc_1000184E
; ---------------------------------------------------------------------------
loc_1000184A: ; CODE XREF: sub_10001825+Ej
; sub_10001825+1Aj
and [ebp+var_4], 0
loc_1000184E: ; CODE XREF: sub_10001825+23j
mov eax, [ebp+var_4]
leave
retn
sub_10001825 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001853 proc near ; CODE XREF: sub_10001A2B+16Bp
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 14h
push ebx
push esi
push edi
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_8]
sub ecx, [eax+34h]
mov [ebp+var_8], ecx
nop
nop
nop
nop
mov eax, [ebp+arg_0]
mov ecx, [ebp+arg_4]
add ecx, [eax+0A0h]
mov [ebp+var_4], ecx
loc_1000187B: ; CODE XREF: sub_10001853+A2j
mov eax, [ebp+var_4]
mov eax, [eax]
mov ecx, [ebp+var_4]
add eax, [ecx+4]
test eax, eax
jz short loc_100018F7
mov eax, [ebp+var_4]
add eax, 8
mov [ebp+var_14], eax
mov [ebp+var_10], 1
jmp short loc_100018A3
; ---------------------------------------------------------------------------
loc_1000189C: ; CODE XREF: sub_10001853+9Aj
mov eax, [ebp+var_10]
inc eax
mov [ebp+var_10], eax
loc_100018A3: ; CODE XREF: sub_10001853+47j
mov eax, [ebp+var_4]
mov eax, [eax+4]
sub eax, 8
shr eax, 1
cmp [ebp+var_10], eax
ja short loc_100018EF
xor eax, eax
test eax, eax
jz short loc_100018E5
nop
nop
nop
nop
nop
nop
nop
mov eax, [ebp+var_4]
mov ecx, [ebp+arg_4]
add ecx, [eax]
mov eax, [ebp+var_14]
movzx eax, word ptr [eax]
and eax, 0FFFh
add ecx, eax
mov [ebp+var_C], ecx
mov eax, [ebp+var_C]
mov eax, [eax]
add eax, [ebp+var_8]
mov ecx, [ebp+var_C]
mov [ecx], eax
loc_100018E5: ; CODE XREF: sub_10001853+64j
mov eax, [ebp+var_14]
inc eax
inc eax
mov [ebp+var_14], eax
jmp short loc_1000189C
; ---------------------------------------------------------------------------
loc_100018EF: ; CODE XREF: sub_10001853+5Ej
mov eax, [ebp+var_14]
mov [ebp+var_4], eax
jmp short loc_1000187B
; ---------------------------------------------------------------------------
loc_100018F7: ; CODE XREF: sub_10001853+35j
pop edi
pop esi
pop ebx
leave
retn
sub_10001853 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_100018FC proc near ; CODE XREF: sub_10001A2B+EFp
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
and [ebp+var_4], 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_1000A7D4
neg eax
sbb eax, eax
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
leave
retn
sub_100018FC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_1000191D proc near ; CODE XREF: sub_10001A2B+71p
var_7C = dword ptr -7Ch
var_78 = byte ptr -78h
Dst = dword ptr -74h
var_30 = byte ptr -30h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
arg_1C = dword ptr 24h
push ebp
mov ebp, esp
sub esp, 7Ch
push ebx
push esi
push edi
push 44h ; Size
push 0 ; Val
lea eax, [ebp+Dst]
push eax ; Dst
call _memset
add esp, 0Ch
nop
nop
nop
nop
push 10h ; Size
push 0 ; Val
lea eax, [ebp+var_10]
push eax ; Dst
call _memset
add esp, 0Ch
mov [ebp+Dst], 44h
lea eax, [ebp+var_10]
push eax
lea eax, [ebp+Dst]
push eax
push 0
push 0
push 4
push 0
push 0
push 0
push [ebp+arg_4]
push [ebp+arg_0]
call dword_1000A7F0
mov [ebp+var_14], eax
cmp [ebp+var_14], 0
jz loc_10001A23
mov eax, [ebp+arg_C]
mov ecx, [ebp+var_10]
mov [eax], ecx
mov eax, [ebp+arg_10]
mov ecx, [ebp+var_C]
mov [eax], ecx
mov eax, [ebp+arg_14]
mov ecx, [ebp+var_8]
mov [eax], ecx
nop
nop
nop
nop
nop
nop
mov eax, [ebp+arg_8]
mov dword ptr [eax], 10007h
push [ebp+arg_8]
mov eax, [ebp+arg_10]
push dword ptr [eax]
call dword_1000A7CC
lea eax, [ebp+var_78]
push eax
push 4
push [ebp+arg_18]
mov eax, [ebp+arg_8]
mov eax, [eax+0A4h]
add eax, 8
push eax
mov eax, [ebp+arg_C]
push dword ptr [eax]
call dword_1000A7F4
mov eax, [ebp+arg_18]
mov eax, [eax]
mov [ebp+var_7C], eax
loc_100019DC: ; CODE XREF: sub_1000191D+F7j
push 1Ch
lea eax, [ebp+var_30]
push eax
push [ebp+var_7C]
mov eax, [ebp+arg_C]
push dword ptr [eax]
call dword_1000A7FC
test eax, eax
jz short loc_10001A16
nop
nop
nop
nop
mov [ebp+var_20], 10000h
cmp [ebp+var_20], 0
jz short loc_10001A07
jmp short loc_10001A16
; ---------------------------------------------------------------------------
loc_10001A07: ; CODE XREF: sub_1000191D+E6j
nop
nop
nop
nop
mov eax, [ebp+var_7C]
add eax, [ebp+var_24]
mov [ebp+var_7C], eax
jmp short loc_100019DC
; ---------------------------------------------------------------------------
loc_10001A16: ; CODE XREF: sub_1000191D+D5j
; sub_1000191D+E8j
mov eax, [ebp+arg_18]
mov ecx, [ebp+var_7C]
sub ecx, [eax]
mov eax, [ebp+arg_1C]
mov [eax], ecx
loc_10001A23: ; CODE XREF: sub_1000191D+5Bj
mov eax, [ebp+var_14]
pop edi
pop esi
pop ebx
leave
retn
sub_1000191D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_10001A2B(char *Source, int, int, int, int, int, int)
sub_10001A2B proc near ; CODE XREF: sub_10001CF2+43p
var_2E8 = byte ptr -2E8h
var_2E4 = dword ptr -2E4h
var_2E0 = dword ptr -2E0h
var_2DC = dword ptr -2DCh
var_2D8 = dword ptr -2D8h
var_2D4 = dword ptr -2D4h
var_230 = dword ptr -230h
var_224 = dword ptr -224h
var_8 = dword ptr -8
var_4 = dword ptr -4
Source = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_10 = dword ptr 18h
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
push ebp
mov ebp, esp
sub esp, 2E8h
push ebx
push esi
push edi
or [ebp+var_2DC], 0FFFFFFFFh
push [ebp+arg_14]
mov eax, [ebp+arg_8]
push dword ptr [eax+34h]
push [ebp+Source] ; Source
call sub_100017C3
add esp, 0Ch
mov [ebp+var_2D8], eax
cmp [ebp+var_2D8], 0
jnz short loc_10001A6C
mov eax, [ebp+var_2DC]
jmp loc_10001CED
; ---------------------------------------------------------------------------
loc_10001A6C: ; CODE XREF: sub_10001A2B+34j
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_2E0]
push eax
push [ebp+arg_18]
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_2DC]
push eax
lea eax, [ebp+var_2D4]
push eax
push [ebp+arg_4]
push [ebp+var_2D8]
call sub_1000191D
add esp, 20h
test eax, eax
jz loc_10001CDB
and [ebp+var_2E4], 0
mov eax, [ebp+arg_8]
mov eax, [eax+34h]
cmp eax, [ebp+var_2E0]
jnz short loc_10001AFE
mov eax, [ebp+var_4]
cmp eax, [ebp+arg_14]
jb short loc_10001AFE
nop
nop
nop
mov eax, [ebp+var_2E0]
mov [ebp+var_2E4], eax
lea eax, [ebp+var_2E8]
push eax
push 40h
push [ebp+var_4]
push [ebp+var_2E4]
push [ebp+var_2DC]
call dword_1000A804
nop
nop
nop
jmp loc_10001BA1
; ---------------------------------------------------------------------------
loc_10001AFE: ; CODE XREF: sub_10001A2B+94j
; sub_10001A2B+9Cj
call ?__uncaught_exception@@YA_NXZ ; __uncaught_exception(void)
test eax, eax
jz loc_10001BA1
nop
nop
nop
push [ebp+var_2E0]
push [ebp+var_2DC]
call sub_100018FC
pop ecx
pop ecx
test eax, eax
jz short loc_10001B4A
push 40h
push 3000h
push [ebp+arg_14]
mov eax, [ebp+arg_8]
push dword ptr [eax+34h]
push [ebp+var_2DC]
call dword_1000A838
mov [ebp+var_2E4], eax
nop
nop
nop
loc_10001B4A: ; CODE XREF: sub_10001A2B+F8j
cmp [ebp+var_2E4], 0
jnz short loc_10001BA1
push [ebp+arg_8]
call sub_10001825
pop ecx
test eax, eax
jz short loc_10001BA1
nop
nop
nop
push 40h
push 3000h
push [ebp+arg_14]
push 0
push [ebp+var_2DC]
call dword_1000A838
mov [ebp+var_2E4], eax
cmp [ebp+var_2E4], 0
jz short loc_10001B9E
push [ebp+var_2E4]
push [ebp+arg_10]
push [ebp+arg_8]
call sub_10001853
add esp, 0Ch
loc_10001B9E: ; CODE XREF: sub_10001A2B+15Dj
nop
nop
nop
loc_10001BA1: ; CODE XREF: sub_10001A2B+CEj
; sub_10001A2B+DAj ...
cmp [ebp+var_2E4], 0
jz loc_10001CAD
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebp+var_2E8]
push eax
push 4
lea eax, [ebp+var_2E4]
push eax
mov eax, [ebp+var_230]
add eax, 8
push eax
push [ebp+var_2DC]
call dword_1000A83C
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_2E4]
mov [eax+34h], ecx
nop
nop
nop
nop
lea eax, [ebp+var_2E8]
push eax
push [ebp+arg_14]
push [ebp+arg_10]
push [ebp+var_2E4]
push [ebp+var_2DC]
call dword_1000A83C
test eax, eax
jz short loc_10001C7D
mov [ebp+var_2D4], 10007h
nop
nop
nop
nop
mov eax, [ebp+var_2E4]
cmp eax, [ebp+var_2E0]
jnz short loc_10001C3F
mov eax, [ebp+arg_8]
mov eax, [eax+34h]
mov ecx, [ebp+arg_8]
add eax, [ecx+28h]
mov [ebp+var_224], eax
jmp short loc_10001C51
; ---------------------------------------------------------------------------
loc_10001C3F: ; CODE XREF: sub_10001A2B+1FEj
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_2E4]
add ecx, [eax+28h]
mov [ebp+var_224], ecx
loc_10001C51: ; CODE XREF: sub_10001A2B+212j
lea eax, [ebp+var_2D4]
push eax
push [ebp+var_8]
call dword_1000A830
nop
nop
nop
nop
nop
nop
nop
nop
push [ebp+var_8]
call dword_1000A824
push [ebp+var_8]
call dword_1000A7D0
jmp short loc_10001CAB
; ---------------------------------------------------------------------------
loc_10001C7D: ; CODE XREF: sub_10001A2B+1E2j
push 0
push [ebp+var_2DC]
call dword_1000A84C
push [ebp+var_8]
call dword_1000A7D0
nop
nop
nop
nop
push [ebp+var_2DC]
call dword_1000A7D0
or [ebp+var_2DC], 0FFFFFFFFh
loc_10001CAB: ; CODE XREF: sub_10001A2B+250j
jmp short loc_10001CDB
; ---------------------------------------------------------------------------
loc_10001CAD: ; CODE XREF: sub_10001A2B+17Dj
push 0
push [ebp+var_2DC]
call dword_1000A84C
push [ebp+var_8]
call dword_1000A7D0
nop
nop
nop
nop
push [ebp+var_2DC]
call dword_1000A7D0
or [ebp+var_2DC], 0FFFFFFFFh
loc_10001CDB: ; CODE XREF: sub_10001A2B+7Bj
; sub_10001A2B:loc_10001CABj
push [ebp+var_2D8]
call sub_10002E9C
pop ecx
mov eax, [ebp+var_2DC]
loc_10001CED: ; CODE XREF: sub_10001A2B+3Cj
pop edi
pop esi
pop ebx
leave
retn
sub_10001A2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001CF2 proc near ; CODE XREF: WinMain(x,x,x,x)+191p
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
arg_C = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 14h
or [ebp+var_10], 0FFFFFFFFh
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_C]
push eax
lea eax, [ebp+var_8]
push eax
lea eax, [ebp+var_14]
push eax
push [ebp+arg_8]
push [ebp+arg_0]
call sub_100014CA
add esp, 18h
test eax, eax
jz short loc_10001D4E
push [ebp+arg_C] ; int
push [ebp+var_4] ; int
push [ebp+var_C] ; int
push [ebp+var_8] ; int
push [ebp+var_14] ; int
push [ebp+arg_4] ; int
push offset dword_1000A85C ; Source
call sub_10001A2B
add esp, 1Ch
push 4000h
push [ebp+var_4]
push [ebp+var_C]
call dword_1000A800
loc_10001D4E: ; CODE XREF: sub_10001CF2+2Aj
mov eax, [ebp+var_10]
leave
retn
sub_10001CF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10001D53 proc near ; CODE XREF: WinMain(x,x,x,x)+74p
; WinMain(x,x,x,x)+D1p
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ebx
push esi
push edi
cmp [ebp+arg_0], 0
jz loc_1000231F
push 9 ; int
push offset dword_10008044 ; int
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset dword_10008044 ; Dest
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset dword_10008050 ; int
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset dword_10008050 ; Dest
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset dword_10008220 ; int
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset dword_10008220 ; Dest
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
nop
nop
nop
nop
push 0Ch ; int
push offset Dest ; "ί&fxR@"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset Dest ; "ί&fxR@"
call _strcpy
pop ecx
pop ecx
push 0Eh ; int
push offset aPFXR@U ; "ί&fxR@ԓ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aPFXR@U ; "ί&fxR@ԓ"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
push 12h ; int
push offset aGAAqUf ; "ߣ |a[F۳"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGAAqUf ; "ߣ |a[F۳"
call _strcpy
pop ecx
pop ecx
push 14h ; int
push offset asc_10008094 ; "±"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset asc_10008094 ; "±"
call _strcpy
pop ecx
pop ecx
push 0Bh ; int
push offset a1i_Vb_zv ; "1_v_V"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset a1i_Vb_zv ; "1_v_V"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
push 0Eh ; int
push offset a1mgDbqJE ; "۴1gDQJĥ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset a1mgDbqJE ; "۴1gDQJĥ"
call _strcpy
pop ecx
pop ecx
push 10h ; int
push offset aGSQtzc@VT ; "ߣ {qZ@٢ќt"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGSQtzc@VT ; "ߣ {qZ@٢ќt"
call _strcpy
pop ecx
pop ecx
push 11h ; int
push offset aG5icRJ ; "ʣ5C{[\\"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG5icRJ ; "ʣ5C{[\\"
call _strcpy
pop ecx
pop ecx
push 0Eh ; int
push offset aPFXvkU ; "ί&fxK]Γ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aPFXvkU ; "ί&fxK]Γ"
call _strcpy
pop ecx
pop ecx
push 10h ; int
push offset aPFXglBx ; "ί&fxL[ҵx"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aPFXglBx ; "ί&fxL[ҵx"
call _strcpy
pop ecx
pop ecx
push 12h ; int
push offset aV ; "ϴ=v"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aV ; "ϴ=v"
call _strcpy
pop ecx
pop ecx
push 10h ; int
push offset aGSQtzc@VT_0 ; "ˣ {qZ@٢ќt"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGSQtzc@VT_0 ; "ˣ {qZ@٢ќt"
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset aG@ilN ; "ʣ'~@LN"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG@ilN ; "ʣ'~@LN"
call _strcpy
pop ecx
pop ecx
push 0Bh ; int
push offset aKVquazJ ; "۪;vuZJ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aKVquazJ ; "۪;vuZJ"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 10h ; int
push offset aGAzUzECs ; "̣&zu[]صїs"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGAzUzECs ; "̣&zu[]صїs"
call _strcpy
pop ecx
pop ecx
push 0Bh ; int
push offset aPFXLJ ; "ί&fxLJ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aPFXLJ ; "ί&fxLJ"
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset aGBUqjB ; "ˣ |ujB"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGBUqjB ; "ˣ |ujB"
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset aGBUqjB_0 ; "ߣ |ujB"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGBUqjB_0 ; "ߣ |ujB"
call _strcpy
pop ecx
pop ecx
push 5 ; int
push offset aK1ic ; "˪1c"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aK1ic ; "˪1c"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 11h ; int
push offset a8oDbJ ; "ʲ8|d[\\"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset a8oDbJ ; "ʲ8|d[\\"
call _strcpy
pop ecx
pop ecx
push 13h ; int
push offset a8ivUnzjE ; "ʲ8v{NJĥ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset a8ivUnzjE ; "ʲ8v{NJĥ"
call _strcpy
pop ecx
pop ecx
push 1Eh ; int
push offset a8kvWSeENonOK ; "ʲ8vWS]ҥǍo{ [k"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset a8kvWSeENonOK ; "ʲ8vWS]ҥǍo{ [k"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0Bh ; int
push offset a1mgRRN ; "۴1gRRn"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset a1mgRRN ; "۴1gRRn"
call _strcpy
pop ecx
pop ecx
push 8 ; int
push offset aG5iuXc ; "ʣ5Ux"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG5iuXc ; "ʣ5Ux"
call _strcpy
pop ecx
pop ecx
push 0Dh ; int
push offset aGLzQawpj ; "ߣ zqWJ"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGLzQawpj ; "ߣ zqWJ"
call _strcpy
pop ecx
pop ecx
push 0Eh ; int
push offset aGLzQgqA ; "ˣ zqQAó"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGLzQgqA ; "ˣ zqQAó"
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset aGSF_J ; "ߣ `f_J"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGSF_J ; "ߣ `f_J"
call _strcpy
pop ecx
pop ecx
push 0Bh ; int
push offset aG3vcZMn ; "ʣ3cz[n"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG3vcZMn ; "ʣ3cz[n"
call _strcpy
pop ecx
pop ecx
push 10h ; int
push offset aG3FFkhC ; "ʣ3ffhC³"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG3FFkhC ; "ʣ3ffhC³"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0Bh ; int
push offset aG3o ; "ʣ3"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG3o ; "ʣ3"
call _strcpy
pop ecx
pop ecx
push 0Bh ; int
push offset aVJm ; "۳&v`M]"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aVJm ; "۳&v`M]"
call _strcpy
pop ecx
pop ecx
push 7 ; int
push offset aIzIqL ; ":ql"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aIzIqL ; ":ql"
call _strcpy
pop ecx
pop ecx
push 6 ; int
push offset aUlMa ; "#a"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aUlMa ; "#a"
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset aI5i_Vb_zv ; "ԩ5_v_V"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aI5i_Vb_zv ; "ԩ5_v_V"
call _strcpy
pop ecx
pop ecx
push 10h ; int
push offset aGAAqAnBa ; "ߣ |a[NٲA"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGAAqAnBa ; "ߣ |a[NٲA"
call _strcpy
pop ecx
pop ecx
push 0Ah ; int
push offset aKPrRb ; "ߪ;rR["
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aKPrRb ; "ߪ;rR["
call _strcpy
pop ecx
pop ecx
push 0Bh ; int
push offset aKPrUqrL ; "ߪ;rURL"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aKPrUqrL ; "ߪ;rURL"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0Ch ; int
push offset aGBrLz@ ; "ˣ r`L@"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGBrLz@ ; "ˣ r`L@"
call _strcpy
pop ecx
pop ecx
push 0Ch ; int
push offset aGBrLz@_0 ; "ߣ r`L@"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aGBrLz@_0 ; "ߣ r`L@"
call _strcpy
pop ecx
pop ecx
nop
nop
nop
nop
jmp short loc_10002361
; ---------------------------------------------------------------------------
loc_1000231F: ; CODE XREF: sub_10001D53+Aj
push 24h ; int
push offset aIAXNASOI ; "۩:axnAҺoI"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aIAXNASOI ; "۩:axnAҺoI"
call _strcpy
pop ecx
pop ecx
push 4 ; int
push offset aG1 ; "ڣ1"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aG1 ; "ڣ1"
call _strcpy
pop ecx
pop ecx
loc_10002361: ; CODE XREF: sub_10001D53+5CAj
pop edi
pop esi
pop ebx
pop ebp
retn
sub_10001D53 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002366 proc near ; CODE XREF: WinMain(x,x,x,x)+E1p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push offset aI5i_Vb_zv ; "ԩ5_v_V"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A828, eax
push offset dword_10008044
call dword_1000A828
mov [ebp+var_8], eax
push offset dword_10008220
call dword_1000A828
mov [ebp+var_4], eax
nop
nop
nop
nop
push offset Dest ; "ί&fxR@"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A858, eax
nop
nop
nop
nop
push offset aPFXR@U ; "ί&fxR@ԓ"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A838, eax
push offset aGAAqUf ; "ߣ |a[F۳"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A808, eax
push offset asc_10008094 ; "±"
push [ebp+var_8]
call dword_1000A80C
mov dword_1000A7D4, eax
nop
nop
nop
nop
push offset a1i_Vb_zv ; "1_v_V"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7D8, eax
push offset a1mgDbqJE ; "۴1gDQJĥ"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7F0, eax
push offset aGSQtzc@VT ; "ߣ {qZ@٢ќt"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7CC, eax
push offset aG5icRJ ; "ʣ5C{[\\"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7F4, eax
nop
nop
nop
nop
push offset aPFXvkU ; "ί&fxK]Γ"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7FC, eax
push offset aPFXglBx ; "ί&fxL[ҵx"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A804, eax
push offset aV ; "ϴ=v"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A83C, eax
push offset aGSQtzc@VT_0 ; "ˣ {qZ@٢ќt"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A830, eax
push offset aG@ilN ; "ʣ'~@LN"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A824, eax
push offset aKVquazJ ; "۪;vuZJ"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7D0, eax
nop
nop
nop
nop
push offset aGAzUzECs ; "̣&zu[]صїs"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A84C, eax
push offset aPFXLJ ; "ί&fxLJ"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A800, eax
push offset aGBUqjB_0 ; "ߣ |ujB"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A848, eax
push offset aGBUqjB ; "ˣ |ujB"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A81C, eax
nop
nop
nop
nop
push offset aK1ic ; "˪1c"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7E8, eax
push offset a8oDbJ ; "ʲ8|d[\\"
push [ebp+var_8]
call dword_1000A80C
mov dword_1000A82C, eax
push offset a8ivUnzjE ; "ʲ8v{NJĥ"
push [ebp+var_8]
call dword_1000A80C
mov dword_1000A7C8, eax
push offset a8kvWSeENonOK ; "ʲ8vWS]ҥǍo{ [k"
push [ebp+var_8]
call dword_1000A80C
mov dword_1000A7DC, eax
nop
nop
nop
nop
nop
nop
nop
nop
push offset a1mgRRN ; "۴1gRRn"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A818, eax
push offset aG5iuXc ; "ʣ5Ux"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7F8, eax
push offset aGLzQgqA ; "ˣ zqQAó"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A850, eax
push offset aGLzQawpj ; "ߣ zqWJ"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A820, eax
nop
nop
nop
nop
push offset aGSF_J ; "ߣ `f_J"
push [ebp+var_4]
call dword_1000A80C
mov dword_1000A840, eax
push offset aG3vcZMn ; "ʣ3cz[n"
push [ebp+var_4]
call dword_1000A80C
mov dword_1000A834, eax
push offset aG3FFkhC ; "ʣ3ffhC³"
push [ebp+var_4]
call dword_1000A80C
mov dword_1000A7EC, eax
push offset aG3o ; "ʣ3"
push [ebp+var_4]
call dword_1000A80C
mov dword_1000A844, eax
nop
nop
nop
nop
nop
nop
nop
nop
push offset aGAAqAnBa ; "ߣ |a[NٲA"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A814, eax
push offset aGBrLz@ ; "ˣ r`L@"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A7E0, eax
push offset aGBrLz@_0 ; "ߣ r`L@"
push [ebp+arg_0]
call dword_1000A80C
mov dword_1000A854, eax
nop
nop
nop
nop
cmp dword_1000A858, 0
jz loc_1000278A
cmp dword_1000A838, 0
jz loc_1000278A
cmp dword_1000A808, 0
jz loc_1000278A
cmp dword_1000A7D4, 0
jz loc_1000278A
cmp dword_1000A7D8, 0
jz loc_1000278A
cmp dword_1000A7F0, 0
jz loc_1000278A
cmp dword_1000A7CC, 0
jz loc_1000278A
cmp dword_1000A7F4, 0
jz loc_1000278A
cmp dword_1000A7FC, 0
jz loc_1000278A
cmp dword_1000A804, 0
jz loc_1000278A
cmp dword_1000A83C, 0
jz loc_1000278A
cmp dword_1000A830, 0
jz loc_1000278A
cmp dword_1000A824, 0
jz loc_1000278A
cmp dword_1000A7D0, 0
jz loc_1000278A
cmp dword_1000A84C, 0
jz loc_1000278A
cmp dword_1000A800, 0
jz short loc_1000278A
cmp dword_1000A848, 0
jz short loc_1000278A
cmp dword_1000A81C, 0
jz short loc_1000278A
cmp dword_1000A7E8, 0
jz short loc_1000278A
cmp dword_1000A82C, 0
jz short loc_1000278A
cmp dword_1000A7C8, 0
jz short loc_1000278A
cmp dword_1000A7DC, 0
jz short loc_1000278A
cmp dword_1000A818, 0
jz short loc_1000278A
cmp dword_1000A7F8, 0
jz short loc_1000278A
cmp dword_1000A850, 0
jz short loc_1000278A
cmp dword_1000A820, 0
jz short loc_1000278A
cmp dword_1000A840, 0
jz short loc_1000278A
cmp dword_1000A834, 0
jz short loc_1000278A
cmp dword_1000A7EC, 0
jz short loc_1000278A
cmp dword_1000A844, 0
jnz short loc_1000278E
loc_1000278A: ; CODE XREF: sub_10002366+2E1j
; sub_10002366+2EEj ...
xor al, al
jmp short loc_10002790
; ---------------------------------------------------------------------------
loc_1000278E: ; CODE XREF: sub_10002366+422j
mov al, 1
loc_10002790: ; CODE XREF: sub_10002366+426j
pop edi
pop esi
pop ebx
leave
retn
sub_10002366 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002795 proc near ; CODE XREF: sub_10002A2D+69p
; sub_10002A2D+87p
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_100027A9
mov eax, [ebp+arg_0]
jmp short locret_100027F7
; ---------------------------------------------------------------------------
loc_100027A9: ; CODE XREF: sub_10002795+Dj
; sub_10002795+5Ej
mov eax, [ebp+arg_0]
movsx eax, byte ptr [eax]
test eax, eax
jz short loc_100027F5
mov eax, [ebp+arg_0]
mov [ebp+var_8], eax
mov eax, [ebp+arg_4]
mov [ebp+var_4], eax
loc_100027BF: ; CODE XREF: sub_10002795+55j
mov eax, [ebp+var_4]
movsx eax, byte ptr [eax]
test eax, eax
jnz short loc_100027CE
mov eax, [ebp+arg_0]
jmp short locret_100027F7
; ---------------------------------------------------------------------------
loc_100027CE: ; CODE XREF: sub_10002795+32j
mov eax, [ebp+var_8]
movsx eax, byte ptr [eax]
mov ecx, [ebp+var_4]
movsx ecx, byte ptr [ecx]
mov edx, [ebp+var_4]
inc edx
mov [ebp+var_4], edx
mov edx, [ebp+var_8]
inc edx
mov [ebp+var_8], edx
cmp eax, ecx
jz short loc_100027BF
mov eax, [ebp+arg_0]
inc eax
mov [ebp+arg_0], eax
jmp short loc_100027A9
; ---------------------------------------------------------------------------
loc_100027F5: ; CODE XREF: sub_10002795+1Cj
xor eax, eax
locret_100027F7: ; CODE XREF: sub_10002795+12j
; sub_10002795+37j
leave
retn
sub_10002795 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_100027F9 proc near ; CODE XREF: sub_100014CA+15Cp
; sub_100014CA+23Dp ...
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, [ebp+arg_0]
mov [ebp+var_4], eax
mov eax, [ebp+arg_4]
mov [ebp+var_8], eax
mov eax, [ebp+var_8]
cmp eax, [ebp+var_4]
jnb short loc_1000284F
mov eax, [ebp+var_8]
add eax, [ebp+arg_8]
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
add eax, [ebp+arg_8]
mov [ebp+var_4], eax
jmp short loc_1000282D
; ---------------------------------------------------------------------------
loc_10002826: ; CODE XREF: sub_100027F9+52j
mov eax, [ebp+arg_8]
dec eax
mov [ebp+arg_8], eax
loc_1000282D: ; CODE XREF: sub_100027F9+2Bj
cmp [ebp+arg_8], 0
jz short loc_1000284D
mov eax, [ebp+var_8]
dec eax
mov [ebp+var_8], eax
mov eax, [ebp+var_4]
dec eax
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov cl, [ecx]
mov [eax], cl
jmp short loc_10002826
; ---------------------------------------------------------------------------
loc_1000284D: ; CODE XREF: sub_100027F9+38j
jmp short loc_10002880
; ---------------------------------------------------------------------------
loc_1000284F: ; CODE XREF: sub_100027F9+17j
mov eax, [ebp+var_8]
cmp eax, [ebp+var_4]
jz short loc_10002880
jmp short loc_10002860
; ---------------------------------------------------------------------------
loc_10002859: ; CODE XREF: sub_100027F9+85j
mov eax, [ebp+arg_8]
dec eax
mov [ebp+arg_8], eax
loc_10002860: ; CODE XREF: sub_100027F9+5Ej
cmp [ebp+arg_8], 0
jz short loc_10002880
mov eax, [ebp+var_4]
mov ecx, [ebp+var_8]
mov cl, [ecx]
mov [eax], cl
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
mov eax, [ebp+var_8]
inc eax
mov [ebp+var_8], eax
jmp short loc_10002859
; ---------------------------------------------------------------------------
loc_10002880: ; CODE XREF: sub_100027F9:loc_1000284Dj
; sub_100027F9+5Cj ...
mov eax, [ebp+arg_0]
leave
retn
sub_100027F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002885 proc near ; CODE XREF: WinMain(x,x,x,x)+136p
var_30 = dword ptr -30h
var_2C = dword ptr -2Ch
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
sub esp, 30h
and [ebp+var_18], 0
and [ebp+var_4], 0
push 0
call dword_1000A814
mov [ebp+var_C], eax
mov eax, [ebp+var_C]
mov [ebp+var_30], eax
mov eax, [ebp+var_30]
mov eax, [eax+3Ch]
mov ecx, [ebp+var_C]
lea eax, [ecx+eax+4]
mov [ebp+var_20], eax
mov eax, [ebp+var_20]
add eax, 14h
mov [ebp+var_24], eax
mov eax, [ebp+var_20]
movzx eax, word ptr [eax+10h]
mov ecx, [ebp+var_24]
add ecx, eax
mov [ebp+var_1C], ecx
mov eax, [ebp+var_20]
movzx eax, word ptr [eax+2]
dec eax
imul eax, 28h
mov ecx, [ebp+var_20]
movzx ecx, word ptr [ecx+2]
dec ecx
imul ecx, 28h
mov edx, [ebp+var_1C]
mov eax, [edx+eax+10h]
mov edx, [ebp+var_1C]
add eax, [edx+ecx+14h]
mov [ebp+var_10], eax
push [ebp+var_C]
call dword_1000A7D0
push 0
call dword_1000A7E0
push 0
push 80h
push 3
push 0
push 1
push 80000000h
push [ebp+arg_0]
call dword_1000A818
mov [ebp+var_2C], eax
call dword_1000A854
test eax, eax
jnz short loc_10002932
cmp [ebp+var_2C], 0FFFFFFFFh
jnz short loc_10002936
loc_10002932: ; CODE XREF: sub_10002885+A5j
xor al, al
jmp short locret_100029AA
; ---------------------------------------------------------------------------
loc_10002936: ; CODE XREF: sub_10002885+ABj
lea eax, [ebp+var_28]
push eax
push [ebp+var_2C]
call dword_1000A820
mov eax, [ebp+var_28]
cmp eax, [ebp+var_10]
jbe short loc_1000299E
mov eax, [ebp+var_28]
sub eax, [ebp+var_10]
mov [ebp+var_18], eax
push 1 ; int
mov eax, [ebp+var_18]
inc eax
push eax ; Size
call sub_10002DEB
pop ecx
pop ecx
mov [ebp+var_14], eax
push 0
push 0
push [ebp+var_10]
push [ebp+var_2C]
call dword_1000A850
push 0
lea eax, [ebp+var_8]
push eax
push [ebp+var_18]
push [ebp+var_14]
push [ebp+var_2C]
call dword_1000A7F8
mov eax, [ebp+arg_4]
mov ecx, [ebp+var_14]
mov [eax], ecx
mov eax, [ebp+arg_8]
mov ecx, [ebp+var_18]
mov [eax], ecx
mov [ebp+var_4], 1
loc_1000299E: ; CODE XREF: sub_10002885+C4j
push [ebp+var_2C]
call dword_1000A7D0
mov al, [ebp+var_4]
locret_100029AA: ; CODE XREF: sub_10002885+AFj
leave
retn
sub_10002885 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_100029AC(char *Str)
sub_100029AC proc near ; CODE XREF: sub_10002A2D+62p
; sub_10002A2D+80p
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
Str = dword ptr 8
push ebp
mov ebp, esp
sub esp, 0Ch
push [ebp+Str] ; Str
call _strlen
pop ecx
mov [ebp+var_8], eax
push 1 ; int
mov eax, [ebp+var_8]
inc eax
push eax ; Size
call sub_10002DEB
pop ecx
pop ecx
mov [ebp+var_C], eax
and [ebp+var_4], 0
jmp short loc_100029DC
; ---------------------------------------------------------------------------
loc_100029D5: ; CODE XREF: sub_100029AC:loc_10002A26j
mov eax, [ebp+var_4]
inc eax
mov [ebp+var_4], eax
loc_100029DC: ; CODE XREF: sub_100029AC+27j
mov eax, [ebp+var_4]
cmp eax, [ebp+var_8]
jge short loc_10002A28
mov eax, [ebp+Str]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 41h
jl short loc_10002A16
mov eax, [ebp+Str]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
cmp eax, 5Ah
jg short loc_10002A16
mov eax, [ebp+Str]
add eax, [ebp+var_4]
movsx eax, byte ptr [eax]
add eax, 20h
mov ecx, [ebp+var_C]
add ecx, [ebp+var_4]
mov [ecx], al
jmp short loc_10002A26
; ---------------------------------------------------------------------------
loc_10002A16: ; CODE XREF: sub_100029AC+44j
; sub_100029AC+52j
mov eax, [ebp+var_C]
add eax, [ebp+var_4]
mov ecx, [ebp+Str]
add ecx, [ebp+var_4]
mov cl, [ecx]
mov [eax], cl
loc_10002A26: ; CODE XREF: sub_100029AC+68j
jmp short loc_100029D5
; ---------------------------------------------------------------------------
loc_10002A28: ; CODE XREF: sub_100029AC+36j
mov eax, [ebp+var_C]
leave
retn
sub_100029AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002A2D proc near ; CODE XREF: WinMain(x,x,x,x)+EEp
var_108 = dword ptr -108h
Str = byte ptr -104h
var_103 = byte ptr -103h
push ebp
mov ebp, esp
sub esp, 108h
push edi
mov [ebp+var_108], 104h
and [ebp+Str], 0
push 40h
pop ecx
xor eax, eax
lea edi, [ebp+var_103]
rep stosd
stosw
stosb
lea eax, [ebp+var_108]
push eax
lea eax, [ebp+Str]
push eax
call dword_1000A840
push offset aVJm ; "۳&v`M]"
lea eax, [ebp+Str]
push eax ; Str1
call _strcmp
pop ecx
pop ecx
test eax, eax
jz short loc_10002ABF
push offset aIzIqL ; ":ql"
lea eax, [ebp+Str]
push eax ; Str
call sub_100029AC
pop ecx
push eax
call sub_10002795
pop ecx
pop ecx
test eax, eax
jnz short loc_10002ABF
push offset aUlMa ; "#a"
lea eax, [ebp+Str]
push eax ; Str
call sub_100029AC
pop ecx
push eax
call sub_10002795
pop ecx
pop ecx
test eax, eax
jz short loc_10002AC3
loc_10002ABF: ; CODE XREF: sub_10002A2D+54j
; sub_10002A2D+72j
mov al, 1
jmp short loc_10002AC5
; ---------------------------------------------------------------------------
loc_10002AC3: ; CODE XREF: sub_10002A2D+90j
xor al, al
loc_10002AC5: ; CODE XREF: sub_10002A2D+94j
pop edi
leave
retn
sub_10002A2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002AC8 proc near ; CODE XREF: WinMain(x,x,x,x)+7Ap
var_20 = dword ptr -20h
var_1C = dword ptr -1Ch
var_18 = dword ptr -18h
var_10 = dword ptr -10h
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_100070A8
push offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp+var_18], esp
and [ebp+var_4], 0
push ebx
mov eax, 564D5868h
mov ebx, 8685D465h
mov ecx, 0Ah
mov dx, 5658h
in eax, dx
mov [ebp+var_1C], ebx
pop ebx
or [ebp+var_4], 0FFFFFFFFh
jmp short loc_10002B26
; ---------------------------------------------------------------------------
push 1
pop eax
retn
; ---------------------------------------------------------------------------
mov esp, [ebp+var_18]
and [ebp+var_20], 0
or [ebp+var_4], 0FFFFFFFFh
mov eax, [ebp+var_20]
jmp short loc_10002B32
; ---------------------------------------------------------------------------
loc_10002B26: ; CODE XREF: sub_10002AC8+48j
xor eax, eax
cmp [ebp+var_1C], 564D5868h
setz al
loc_10002B32: ; CODE XREF: sub_10002AC8+5Cj
mov ecx, [ebp+var_10]
mov large fs:0, ecx
pop edi
pop esi
pop ebx
leave
retn
sub_10002AC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002B41 proc near ; CODE XREF: WinMain(x,x,x,x):loc_10002C63p
var_4 = dword ptr -4
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
and [ebp+var_4], 0
mov eax, large fs:30h
mov eax, [eax+68h]
mov [ebp+var_4], eax
mov eax, [ebp+var_4]
and eax, 70h
pop edi
pop esi
pop ebx
leave
retn
sub_10002B41 endp
; ---------------------------------------------------------------------------
loc_10002B63: ; CODE XREF: WinMain(x,x,x,x):loc_10002C53p
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset dword_100070B8
push offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov [ebp-18h], esp
and dword ptr [ebp-4], 0
mov eax, 1
; ---------------------------------------------------------------------------
dw 3F0Fh
dd 45C70B07h, 0FFFFFFFCh, 0FC4D83FFh, 6A14EBFFh, 8BC35801h
dd 6583E865h, 4D8300E4h, 458BFFFCh, 6A03EBE4h, 4D8B5801h
dd 0D8964F0h, 0
; ---------------------------------------------------------------------------
pop edi
pop esi
pop ebx
leave
retn
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
_WinMain@16 proc near ; CODE XREF: start+C9p
var_11C = dword ptr -11Ch
var_118 = dword ptr -118h
var_114 = dword ptr -114h
var_110 = dword ptr -110h
var_10C = byte ptr -10Ch
var_10B = byte ptr -10Bh
var_8 = dword ptr -8
var_4 = dword ptr -4
hInstance = dword ptr 8
hPrevInstance = dword ptr 0Ch
lpCmdLine = dword ptr 10h
nShowCmd = dword ptr 14h
push ebp
mov ebp, esp
sub esp, 11Ch
push ebx
push esi
push edi
and [ebp+var_10C], 0
push 40h
pop ecx
xor eax, eax
lea edi, [ebp+var_10B]
rep stosd
stosw
stosb
and [ebp+var_8], 0
and [ebp+var_114], 0
push 24h ; int
push offset aIAXNASOI ; "۩:axnAҺoI"
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
push eax ; Source
push offset aIAXNASOI ; "۩:axnAҺoI"
call _strcpy
pop ecx
pop ecx
lea eax, [ebp+var_114]
push eax
push offset aIAXNASOI ; "۩:axnAҺoI"
push 80000001h
call ds:dword_10007000
test eax, eax
jz short loc_10002C3B
push 0
call ds:dword_10007008
loc_10002C3B: ; CODE XREF: WinMain(x,x,x,x)+68j
push 0
call sub_10001D53
pop ecx
call sub_10002AC8
test eax, eax
jz short loc_10002C53
xor eax, eax
jmp loc_10002D69
; ---------------------------------------------------------------------------
loc_10002C53: ; CODE XREF: WinMain(x,x,x,x)+81j
call loc_10002B63
test eax, eax
jz short loc_10002C63
xor eax, eax
jmp loc_10002D69
; ---------------------------------------------------------------------------
loc_10002C63: ; CODE XREF: WinMain(x,x,x,x)+91j
call sub_10002B41
test eax, eax
jz short loc_10002C73
xor eax, eax
jmp loc_10002D69
; ---------------------------------------------------------------------------
loc_10002C73: ; CODE XREF: WinMain(x,x,x,x)+A1j
call sub_1000102A
mov dword_1000A80C, eax
cmp dword_1000A80C, 0
jnz short loc_10002C8D
xor eax, eax
jmp loc_10002D69
; ---------------------------------------------------------------------------
loc_10002C8D: ; CODE XREF: WinMain(x,x,x,x)+BBj
call sub_10001000
mov [ebp+var_110], eax
push 1
call sub_10001D53
pop ecx
nop
nop
nop
nop
push [ebp+var_110]
call sub_10002366
pop ecx
movzx eax, al
test eax, eax
jz short loc_10002CC3
call sub_10002A2D
movzx eax, al
test eax, eax
jz short loc_10002CCA
loc_10002CC3: ; CODE XREF: WinMain(x,x,x,x)+ECj
xor eax, eax
jmp loc_10002D69
; ---------------------------------------------------------------------------
loc_10002CCA: ; CODE XREF: WinMain(x,x,x,x)+F8j
nop
nop
push 104h
lea eax, [ebp+var_10C]
push eax
push 0
call ds:dword_1000700C
push eax
call dword_1000A808
nop
nop
nop
nop
nop
nop
lea eax, [ebp+var_11C]
push eax
lea eax, [ebp+var_4]
push eax
lea eax, [ebp+var_10C]
push eax
call sub_10002885
add esp, 0Ch
movzx eax, al
test eax, eax
jz short loc_10002D67
push [ebp+var_11C] ; int
push [ebp+var_4] ; int
push offset aLulhelloworldc ; "lulhelloworldcppftw"
call sub_1000109E
add esp, 0Ch
mov [ebp+var_4], eax
nop
nop
nop
nop
lea eax, [ebp+var_118]
push eax
push [ebp+var_11C]
push [ebp+var_4]
call sub_100012E4
add esp, 0Ch
mov [ebp+var_4], eax
nop
nop
nop
nop
lea eax, [ebp+var_8]
push eax
push [ebp+var_118]
push [ebp+lpCmdLine]
push [ebp+var_4]
call sub_10001CF2
add esp, 10h
nop
nop
nop
nop
nop
loc_10002D67: ; CODE XREF: WinMain(x,x,x,x)+143j
xor eax, eax
loc_10002D69: ; CODE XREF: WinMain(x,x,x,x)+85j
; WinMain(x,x,x,x)+95j ...
pop edi
pop esi
pop ebx
leave
retn 10h
_WinMain@16 endp
; [0000007B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
; int __cdecl sub_10002DEB(size_t Size, int)
sub_10002DEB proc near ; CODE XREF: sub_1000109E+15p
; sub_100012E4+14p ...
Size = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
push esi
mov esi, [ebp+Size]
imul esi, [ebp+arg_4]
cmp esi, 0FFFFFFE0h
push edi
mov [ebp+Size], esi
ja short loc_10002E0C
test esi, esi
jnz short loc_10002E06
push 1
pop esi
loc_10002E06: ; CODE XREF: sub_10002DEB+16j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_10002E0C: ; CODE XREF: sub_10002DEB+12j
; sub_10002DEB+94j
xor edi, edi
cmp esi, 0FFFFFFE0h
ja short loc_10002E6B
mov eax, dword_1000AD78
cmp eax, 3
jnz short loc_10002E37
mov eax, [ebp+Size]
cmp eax, dword_1000AD70
ja short loc_10002E56
push eax
call ___sbh_alloc_block
mov edi, eax
pop ecx
test edi, edi
jnz short loc_10002E81
jmp short loc_10002E56
; ---------------------------------------------------------------------------
loc_10002E37: ; CODE XREF: sub_10002DEB+30j
cmp eax, 2
jnz short loc_10002E56
cmp esi, dword_1000A384
ja short loc_10002E56
mov eax, esi
shr eax, 4
push eax
call sub_10004129
mov edi, eax
pop ecx
test edi, edi
jnz short loc_10002E95
loc_10002E56: ; CODE XREF: sub_10002DEB+3Bj
; sub_10002DEB+4Aj ...
push esi
push 8
push dword_1000AD74
call ds:dword_10007010
mov edi, eax
test edi, edi
jnz short loc_10002E8F
loc_10002E6B: ; CODE XREF: sub_10002DEB+26j
cmp dword_1000A870, 0
jz short loc_10002E8F
push esi
call __callnewh
test eax, eax
pop ecx
jz short loc_10002E98
jmp short loc_10002E0C
; ---------------------------------------------------------------------------
loc_10002E81: ; CODE XREF: sub_10002DEB+48j
push [ebp+Size] ; Size
loc_10002E84: ; CODE XREF: sub_10002DEB+ABj
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
loc_10002E8F: ; CODE XREF: sub_10002DEB+7Ej
; sub_10002DEB+87j
mov eax, edi
loc_10002E91: ; CODE XREF: sub_10002DEB+AFj
pop edi
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_10002E95: ; CODE XREF: sub_10002DEB+69j
push esi
jmp short loc_10002E84
; ---------------------------------------------------------------------------
loc_10002E98: ; CODE XREF: sub_10002DEB+92j
xor eax, eax
jmp short loc_10002E91
sub_10002DEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10002E9C proc near ; CODE XREF: sub_10001A2B+2B6p
; __setenvp+9Dp ...
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push esi
mov esi, [ebp+arg_0]
test esi, esi
jz short loc_10002F02
mov eax, dword_1000AD78
cmp eax, 3
jnz short loc_10002EC8
push esi
call ___sbh_find_block
pop ecx
test eax, eax
push esi
jz short loc_10002EF4
push eax
call sub_10003653
pop ecx
pop ecx
jmp short loc_10002F02
; ---------------------------------------------------------------------------
loc_10002EC8: ; CODE XREF: sub_10002E9C+14j
cmp eax, 2
jnz short loc_10002EF3
lea eax, [ebp+arg_0]
push eax
lea eax, [ebp+var_4]
push eax
push esi
call sub_1000408D
add esp, 0Ch
test eax, eax
jz short loc_10002EF3
push eax
push [ebp+arg_0]
push [ebp+var_4]
call sub_100040E4
add esp, 0Ch
jmp short loc_10002F02
; ---------------------------------------------------------------------------
loc_10002EF3: ; CODE XREF: sub_10002E9C+2Fj
; sub_10002E9C+44j
push esi
loc_10002EF4: ; CODE XREF: sub_10002E9C+20j
push 0
push dword_1000AD74
call ds:dword_10007014
loc_10002F02: ; CODE XREF: sub_10002E9C+Aj
; sub_10002E9C+2Aj ...
pop esi
leave
retn
sub_10002E9C endp
; ---------------------------------------------------------------------------
align 10h
; [00000007 BYTES: COLLAPSED FUNCTION _strcpy. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000E0 BYTES: COLLAPSED FUNCTION _strcat. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000084 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND]
; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000022 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND]
; [00000068 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND]
; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
__NLG_Notify1:
push ebx
push ecx
mov ebx, offset dword_10008340
jmp short loc_100031C4
; [00000018 BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND]
align 4
push esi
inc ebx
xor dh, [eax]
pop eax
inc ebx
xor [eax], dh
; [000000BD BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
unknown_libname_2: ; Microsoft VisualC 2-8/net runtime
push ebp
mov ecx, [esp+8]
mov ebp, [ecx]
mov eax, [ecx+1Ch]
push eax
mov eax, [ecx+18h]
push eax
call __local_unwind2
add esp, 8
pop ebp
retn 4
; [000000D7 BYTES: COLLAPSED FUNCTION start. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
mov eax, [ebp-14h]
mov ecx, [eax]
mov ecx, [ecx]
mov [ebp-68h], ecx
push eax
push ecx
call __XcptFilter
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
mov esp, [ebp-18h]
push dword ptr [ebp-68h]
call __exit
; [00000022 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND]
pop ecx
pop ecx
retn
; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND]
; [0000001B BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_1000340E proc near ; CODE XREF: sub_1000343B+136p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 0
and dword ptr [esi], 0
call ds:dword_1000700C
cmp word ptr [eax], 5A4Dh
jnz short loc_10003439
mov ecx, [eax+3Ch]
test ecx, ecx
jz short loc_10003439
add eax, ecx
mov cl, [eax+1Ah]
mov [esi], cl
mov al, [eax+1Bh]
mov [esi+1], al
loc_10003439: ; CODE XREF: sub_1000340E+15j
; sub_1000340E+1Cj
pop esi
retn
sub_1000340E endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_1000343B proc near ; CODE XREF: sub_10003583+20p
Str = byte ptr -122Ch
SubStr = byte ptr -19Ch
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_88 = dword ptr -88h
var_4 = byte ptr -4
push ebp
mov ebp, esp
mov eax, 122Ch
call __alloca_probe
lea eax, [ebp+var_98]
push ebx
push eax
mov [ebp+var_98], 94h
call ds:dword_10007030
test eax, eax
jz short loc_1000347E
cmp [ebp+var_88], 2
jnz short loc_1000347E
cmp [ebp+var_94], 5
jb short loc_1000347E
push 1
pop eax
jmp loc_10003580
; ---------------------------------------------------------------------------
loc_1000347E: ; CODE XREF: sub_1000343B+27j
; sub_1000343B+30j ...
lea eax, [ebp+Str]
push 1090h
push eax
push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT"
call ds:dword_1000702C
test eax, eax
jz loc_1000356D
xor ebx, ebx
lea ecx, [ebp+Str]
cmp [ebp+Str], bl
jz short loc_100034C0
loc_100034AD: ; CODE XREF: sub_1000343B+83j
mov al, [ecx]
cmp al, 61h
jl short loc_100034BB
cmp al, 7Ah
jg short loc_100034BB
sub al, 20h
mov [ecx], al
loc_100034BB: ; CODE XREF: sub_1000343B+76j
; sub_1000343B+7Aj
inc ecx
cmp [ecx], bl
jnz short loc_100034AD
loc_100034C0: ; CODE XREF: sub_1000343B+70j
lea eax, [ebp+Str]
push 16h ; MaxCount
push eax ; Str2
push offset Str1 ; "__GLOBAL_HEAP_SELECTED"
call _strncmp
add esp, 0Ch
test eax, eax
jnz short loc_100034E2
lea eax, [ebp+Str]
jmp short loc_1000352B
; ---------------------------------------------------------------------------
loc_100034E2: ; CODE XREF: sub_1000343B+9Dj
lea eax, [ebp+SubStr]
push 104h
push eax
push ebx
call ds:dword_10007028
cmp [ebp+SubStr], bl
lea ecx, [ebp+SubStr]
jz short loc_10003516
loc_10003503: ; CODE XREF: sub_1000343B+D9j
mov al, [ecx]
cmp al, 61h
jl short loc_10003511
cmp al, 7Ah
jg short loc_10003511
sub al, 20h
mov [ecx], al
loc_10003511: ; CODE XREF: sub_1000343B+CCj
; sub_1000343B+D0j
inc ecx
cmp [ecx], bl
jnz short loc_10003503
loc_10003516: ; CODE XREF: sub_1000343B+C6j
lea eax, [ebp+SubStr]
push eax ; SubStr
lea eax, [ebp+Str]
push eax ; Str
call _strstr
pop ecx
pop ecx
loc_1000352B: ; CODE XREF: sub_1000343B+A5j
cmp eax, ebx
jz short loc_1000356D
push 2Ch ; Val
push eax ; Str
call _strchr
pop ecx
cmp eax, ebx
pop ecx
jz short loc_1000356D
inc eax
mov ecx, eax
cmp [eax], bl
jz short loc_10003552
loc_10003544: ; CODE XREF: sub_1000343B+115j
cmp byte ptr [ecx], 3Bh
jnz short loc_1000354D
mov [ecx], bl
jmp short loc_1000354E
; ---------------------------------------------------------------------------
loc_1000354D: ; CODE XREF: sub_1000343B+10Cj
inc ecx
loc_1000354E: ; CODE XREF: sub_1000343B+110j
cmp [ecx], bl
jnz short loc_10003544
loc_10003552: ; CODE XREF: sub_1000343B+107j
push 0Ah ; Radix
push ebx ; EndPtr
push eax ; Str
call _strtol
add esp, 0Ch
cmp eax, 2
jz short loc_10003580
cmp eax, 3
jz short loc_10003580
cmp eax, 1
jz short loc_10003580
loc_1000356D: ; CODE XREF: sub_1000343B+5Cj
; sub_1000343B+F2j ...
lea eax, [ebp+var_4]
push eax
call sub_1000340E
cmp [ebp+var_4], 6
pop ecx
sbb eax, eax
add eax, 3
loc_10003580: ; CODE XREF: sub_1000343B+3Ej
; sub_1000343B+126j ...
pop ebx
leave
retn
sub_1000343B endp
; =============== S U B R O U T I N E =======================================
sub_10003583 proc near ; CODE XREF: start+5Ap
arg_0 = dword ptr 4
xor eax, eax
push 0
cmp [esp+4+arg_0], eax
push 1000h
setz al
push eax
call ds:dword_10007038
test eax, eax
mov dword_1000AD74, eax
jz short loc_100035D9
call sub_1000343B
cmp eax, 3
mov dword_1000AD78, eax
jnz short loc_100035BF
push 3F8h
call ___sbh_heap_init
pop ecx
jmp short loc_100035C9
; ---------------------------------------------------------------------------
loc_100035BF: ; CODE XREF: sub_10003583+2Dj
cmp eax, 2
jnz short loc_100035DC
call sub_10003E31
loc_100035C9: ; CODE XREF: sub_10003583+3Aj
test eax, eax
jnz short loc_100035DC
push dword_1000AD74
call ds:dword_10007034
loc_100035D9: ; CODE XREF: sub_10003583+1Ej
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_100035DC: ; CODE XREF: sub_10003583+3Fj
; sub_10003583+48j
push 1
pop eax
retn
sub_10003583 endp
; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10003653 proc near ; CODE XREF: sub_10002E9C+23p
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
push ebp
mov ebp, esp
sub esp, 10h
mov ecx, [ebp+arg_0]
push ebx
push esi
mov esi, [ebp+arg_4]
mov eax, [ecx+10h]
push edi
mov edi, esi
add esi, 0FFFFFFFCh
sub edi, [ecx+0Ch]
shr edi, 0Fh
mov ecx, edi
imul ecx, 204h
lea ecx, [ecx+eax+144h]
mov [ebp+var_10], ecx
mov ecx, [esi]
dec ecx
test cl, 1
mov [ebp+var_4], ecx
jnz loc_10003977
mov edx, [ecx+esi]
lea ebx, [ecx+esi]
mov [ebp+var_C], edx
mov edx, [esi-4]
mov [ebp+var_8], edx
mov edx, [ebp+var_C]
test dl, 1
mov [ebp+arg_4], ebx
jnz short loc_10003729
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_100036B7
push 3Fh
pop edx
loc_100036B7: ; CODE XREF: sub_10003653+5Fj
mov ecx, [ebx+4]
cmp ecx, [ebx+8]
jnz short loc_1000370B
cmp edx, 20h
jnb short loc_100036E2
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+44h], ebx
dec byte ptr [ecx]
jnz short loc_10003703
mov ecx, [ebp+arg_0]
and [ecx], ebx
jmp short loc_10003703
; ---------------------------------------------------------------------------
loc_100036E2: ; CODE XREF: sub_10003653+6Fj
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
lea ecx, [edx+eax+4]
not ebx
and [eax+edi*4+0C4h], ebx
dec byte ptr [ecx]
jnz short loc_10003703
mov ecx, [ebp+arg_0]
and [ecx+4], ebx
loc_10003703: ; CODE XREF: sub_10003653+86j
; sub_10003653+8Dj ...
mov ecx, [ebp+var_4]
mov ebx, [ebp+arg_4]
jmp short loc_1000370E
; ---------------------------------------------------------------------------
loc_1000370B: ; CODE XREF: sub_10003653+6Aj
mov ecx, [ebp+var_4]
loc_1000370E: ; CODE XREF: sub_10003653+B6j
mov edx, [ebx+8]
mov ebx, [ebx+4]
add ecx, [ebp+var_C]
mov [edx+4], ebx
mov edx, [ebp+arg_4]
mov [ebp+var_4], ecx
mov ebx, [edx+4]
mov edx, [edx+8]
mov [ebx+8], edx
loc_10003729: ; CODE XREF: sub_10003653+56j
mov edx, ecx
sar edx, 4
dec edx
cmp edx, 3Fh
jbe short loc_10003737
push 3Fh
pop edx
loc_10003737: ; CODE XREF: sub_10003653+DFj
mov ebx, [ebp+var_8]
and ebx, 1
mov [ebp+var_C], ebx
jnz loc_100037DA
sub esi, [ebp+var_8]
mov ebx, [ebp+var_8]
sar ebx, 4
push 3Fh
mov [ebp+arg_4], esi
dec ebx
pop esi
cmp ebx, esi
jbe short loc_1000375C
mov ebx, esi
loc_1000375C: ; CODE XREF: sub_10003653+105j
add ecx, [ebp+var_8]
mov edx, ecx
mov [ebp+var_4], ecx
sar edx, 4
dec edx
cmp edx, esi
jbe short loc_1000376E
mov edx, esi
loc_1000376E: ; CODE XREF: sub_10003653+117j
cmp ebx, edx
jz short loc_100037D5
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
cmp esi, [ecx+8]
jnz short loc_100037BD
cmp ebx, 20h
jnb short loc_1000379E
mov esi, 80000000h
mov ecx, ebx
shr esi, cl
not esi
and [eax+edi*4+44h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_100037BD
mov ecx, [ebp+arg_0]
and [ecx], esi
jmp short loc_100037BD
; ---------------------------------------------------------------------------
loc_1000379E: ; CODE XREF: sub_10003653+12Dj
lea ecx, [ebx-20h]
mov esi, 80000000h
shr esi, cl
not esi
and [eax+edi*4+0C4h], esi
dec byte ptr [ebx+eax+4]
jnz short loc_100037BD
mov ecx, [ebp+arg_0]
and [ecx+4], esi
loc_100037BD: ; CODE XREF: sub_10003653+128j
; sub_10003653+142j ...
mov ecx, [ebp+arg_4]
mov esi, [ecx+8]
mov ecx, [ecx+4]
mov [esi+4], ecx
mov ecx, [ebp+arg_4]
mov esi, [ecx+4]
mov ecx, [ecx+8]
mov [esi+8], ecx
loc_100037D5: ; CODE XREF: sub_10003653+11Dj
mov esi, [ebp+arg_4]
jmp short loc_100037DD
; ---------------------------------------------------------------------------
loc_100037DA: ; CODE XREF: sub_10003653+EDj
mov ebx, [ebp+arg_0]
loc_100037DD: ; CODE XREF: sub_10003653+185j
cmp [ebp+var_C], 0
jnz short loc_100037EB
cmp ebx, edx
jz loc_1000386C
loc_100037EB: ; CODE XREF: sub_10003653+18Ej
mov ecx, [ebp+var_10]
mov ebx, [ecx+edx*8+4]
lea ecx, [ecx+edx*8]
mov [esi+4], ebx
mov [esi+8], ecx
mov [ecx+4], esi
mov ecx, [esi+4]
mov [ecx+8], esi
mov ecx, [esi+4]
cmp ecx, [esi+8]
jnz short loc_1000386C
mov cl, [edx+eax+4]
cmp edx, 20h
mov byte ptr [ebp+arg_4+3], cl
inc cl
mov [edx+eax+4], cl
jnb short loc_10003843
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_10003832
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx], ebx
loc_10003832: ; CODE XREF: sub_10003653+1CFj
mov ebx, 80000000h
mov ecx, edx
shr ebx, cl
lea eax, [eax+edi*4+44h]
or [eax], ebx
jmp short loc_1000386C
; ---------------------------------------------------------------------------
loc_10003843: ; CODE XREF: sub_10003653+1C9j
cmp byte ptr [ebp+arg_4+3], 0
jnz short loc_10003859
lea ecx, [edx-20h]
mov ebx, 80000000h
shr ebx, cl
mov ecx, [ebp+arg_0]
or [ecx+4], ebx
loc_10003859: ; CODE XREF: sub_10003653+1F4j
lea ecx, [edx-20h]
mov edx, 80000000h
shr edx, cl
lea eax, [eax+edi*4+0C4h]
or [eax], edx
loc_1000386C: ; CODE XREF: sub_10003653+192j
; sub_10003653+1B7j ...
mov eax, [ebp+var_4]
mov [esi], eax
mov [eax+esi-4], eax
mov eax, [ebp+var_10]
dec dword ptr [eax]
jnz loc_10003977
mov eax, dword_1000AD64
test eax, eax
jz loc_10003969
mov ecx, dword_1000AD5C
mov esi, ds:dword_1000703C
shl ecx, 0Fh
add ecx, [eax+0Ch]
mov ebx, 8000h
push 4000h
push ebx
push ecx
call esi ; dword_1000703C
mov ecx, dword_1000AD5C
mov eax, dword_1000AD64
mov edx, 80000000h
shr edx, cl
or [eax+8], edx
mov eax, dword_1000AD64
mov ecx, dword_1000AD5C
mov eax, [eax+10h]
and dword ptr [eax+ecx*4+0C4h], 0
mov eax, dword_1000AD64
mov eax, [eax+10h]
dec byte ptr [eax+43h]
mov eax, dword_1000AD64
mov ecx, [eax+10h]
cmp byte ptr [ecx+43h], 0
jnz short loc_100038FA
and dword ptr [eax+4], 0FFFFFFFEh
mov eax, dword_1000AD64
loc_100038FA: ; CODE XREF: sub_10003653+29Cj
cmp dword ptr [eax+8], 0FFFFFFFFh
jnz short loc_10003969
push ebx
push 0
push dword ptr [eax+0Ch]
call esi ; dword_1000703C
mov eax, dword_1000AD64
push dword ptr [eax+10h]
push 0
push dword_1000AD74
call ds:dword_10007014
mov eax, dword_1000AD68
mov edx, dword_1000AD6C
lea eax, [eax+eax*4]
shl eax, 2
mov ecx, eax
mov eax, dword_1000AD64
sub ecx, eax
lea ecx, [ecx+edx-14h]
push ecx
lea ecx, [eax+14h]
push ecx
push eax
call sub_100027F9
mov eax, [ebp+arg_0]
add esp, 0Ch
dec dword_1000AD68
cmp eax, dword_1000AD64
jbe short loc_1000395F
sub [ebp+arg_0], 14h
loc_1000395F: ; CODE XREF: sub_10003653+306j
mov eax, dword_1000AD6C
mov dword_1000AD60, eax
loc_10003969: ; CODE XREF: sub_10003653+234j
; sub_10003653+2ABj
mov eax, [ebp+arg_0]
mov dword_1000AD5C, edi
mov dword_1000AD64, eax
loc_10003977: ; CODE XREF: sub_10003653+38j
; sub_10003653+227j
pop edi
pop esi
pop ebx
leave
retn
sub_10003653 endp
; [00000309 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND]
; [000000B1 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND]
; [000000FB BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_10003E31 proc near ; CODE XREF: sub_10003583+41p
; sub_10004129:loc_100042F8p
cmp dword_10008370, 0FFFFFFFFh
push ebx
push ebp
push esi
push edi
jnz short loc_10003E45
mov esi, offset off_10008360
jmp short loc_10003E62
; ---------------------------------------------------------------------------
loc_10003E45: ; CODE XREF: sub_10003E31+Bj
push 2020h
push 0
push dword_1000AD74
call ds:dword_10007010
mov esi, eax
test esi, esi
jz loc_10003F6E
loc_10003E62: ; CODE XREF: sub_10003E31+12j
mov ebp, ds:dword_10007040
push 4
push 2000h
push 400000h
push 0
call ebp ; dword_10007040
mov edi, eax
test edi, edi
jz loc_10003F57
push 4
mov ebx, 10000h
push 1000h
push ebx
push edi
call ebp ; dword_10007040
test eax, eax
jz loc_10003F49
mov eax, offset off_10008360
cmp esi, eax
jnz short loc_10003EC1
cmp off_10008360, 0
jnz short loc_10003EB1
mov off_10008360, eax
loc_10003EB1: ; CODE XREF: sub_10003E31+79j
cmp off_10008364, 0
jnz short loc_10003ED6
mov off_10008364, eax
jmp short loc_10003ED6
; ---------------------------------------------------------------------------
loc_10003EC1: ; CODE XREF: sub_10003E31+70j
mov [esi], eax
mov eax, off_10008364
mov [esi+4], eax
mov off_10008364, esi
mov eax, [esi+4]
mov [eax], esi
loc_10003ED6: ; CODE XREF: sub_10003E31+87j
; sub_10003E31+8Ej
lea eax, [edi+400000h]
lea ecx, [esi+98h]
mov [esi+14h], eax
lea eax, [esi+18h]
mov [esi+0Ch], ecx
mov [esi+10h], edi
mov [esi+8], eax
xor ebp, ebp
mov ecx, 0F1h
loc_10003EF8: ; CODE XREF: sub_10003E31+E2j
xor edx, edx
cmp ebp, 10h
setnl dl
dec edx
and edx, ecx
dec edx
inc ebp
mov [eax], edx
mov [eax+4], ecx
add eax, 8
cmp ebp, 400h
jl short loc_10003EF8
push ebx ; Size
push 0 ; Val
push edi ; Dst
call _memset
add esp, 0Ch
loc_10003F21: ; CODE XREF: sub_10003E31+112j
mov eax, [esi+10h]
add eax, ebx
cmp edi, eax
jnb short loc_10003F45
or byte ptr [edi+0F8h], 0FFh
lea eax, [edi+8]
mov [edi], eax
mov dword ptr [edi+4], 0F0h
add edi, 1000h
jmp short loc_10003F21
; ---------------------------------------------------------------------------
loc_10003F45: ; CODE XREF: sub_10003E31+F7j
mov eax, esi
jmp short loc_10003F70
; ---------------------------------------------------------------------------
loc_10003F49: ; CODE XREF: sub_10003E31+63j
push 8000h
push 0
push edi
call ds:dword_1000703C
loc_10003F57: ; CODE XREF: sub_10003E31+4Bj
cmp esi, offset off_10008360
jz short loc_10003F6E
push esi
push 0
push dword_1000AD74
call ds:dword_10007014
loc_10003F6E: ; CODE XREF: sub_10003E31+2Bj
; sub_10003E31+12Cj
xor eax, eax
loc_10003F70: ; CODE XREF: sub_10003E31+116j
pop edi
pop esi
pop ebp
pop ebx
retn
sub_10003E31 endp
; =============== S U B R O U T I N E =======================================
sub_10003F75 proc near ; CODE XREF: sub_10003FCB+A5p
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 8000h
push 0
push dword ptr [esi+10h]
call ds:dword_1000703C
cmp off_1000A380, esi
jnz short loc_10003F9A
mov eax, [esi+4]
mov off_1000A380, eax
loc_10003F9A: ; CODE XREF: sub_10003F75+1Bj
cmp esi, offset off_10008360
jz short loc_10003FC2
mov eax, [esi+4]
mov ecx, [esi]
push esi
push 0
mov [eax], ecx
mov eax, [esi]
mov ecx, [esi+4]
mov [eax+4], ecx
push dword_1000AD74
call ds:dword_10007014
pop esi
retn
; ---------------------------------------------------------------------------
loc_10003FC2: ; CODE XREF: sub_10003F75+2Bj
or dword_10008370, 0FFFFFFFFh
pop esi
retn
sub_10003F75 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10003FCB proc near ; CODE XREF: sub_100040E4+3Ep
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, off_10008364
push edi
loc_10003FD8: ; CODE XREF: sub_10003FCB+B7j
cmp dword ptr [esi+10h], 0FFFFFFFFh
jz loc_10004076
and [ebp+var_4], 0
lea edi, [esi+2010h]
mov ebx, 3FF000h
loc_10003FF1: ; CODE XREF: sub_10003FCB+72j
cmp dword ptr [edi], 0F0h
jnz short loc_10004032
mov eax, ebx
push 4000h
add eax, [esi+10h]
push 1000h
push eax
call ds:dword_1000703C
test eax, eax
jz short loc_10004032
or dword ptr [edi], 0FFFFFFFFh
dec dword_1000A874
mov eax, [esi+0Ch]
test eax, eax
jz short loc_10004027
cmp eax, edi
jbe short loc_1000402A
loc_10004027: ; CODE XREF: sub_10003FCB+56j
mov [esi+0Ch], edi
loc_1000402A: ; CODE XREF: sub_10003FCB+5Aj
inc [ebp+var_4]
dec [ebp+arg_0]
jz short loc_1000403F
loc_10004032: ; CODE XREF: sub_10003FCB+2Cj
; sub_10003FCB+46j
sub ebx, 1000h
sub edi, 8
test ebx, ebx
jge short loc_10003FF1
loc_1000403F: ; CODE XREF: sub_10003FCB+65j
cmp [ebp+var_4], 0
mov ecx, esi
mov esi, [esi+4]
jz short loc_10004076
cmp dword ptr [ecx+18h], 0FFFFFFFFh
jnz short loc_10004076
push 1
lea eax, [ecx+20h]
pop edx
loc_10004056: ; CODE XREF: sub_10003FCB+9Aj
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_10004067
inc edx
add eax, 8
cmp edx, 400h
jl short loc_10004056
loc_10004067: ; CODE XREF: sub_10003FCB+8Ej
cmp edx, 400h
jnz short loc_10004076
push ecx
call sub_10003F75
pop ecx
loc_10004076: ; CODE XREF: sub_10003FCB+11j
; sub_10003FCB+7Dj ...
cmp esi, off_10008364
jz short loc_10004088
cmp [ebp+arg_0], 0
jg loc_10003FD8
loc_10004088: ; CODE XREF: sub_10003FCB+B1j
pop edi
pop esi
pop ebx
leave
retn
sub_10003FCB endp
; =============== S U B R O U T I N E =======================================
sub_1000408D proc near ; CODE XREF: sub_10002E9C+3Ap
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov edx, offset off_10008360
push esi
mov ecx, edx
loc_10004099: ; CODE XREF: sub_1000408D+1Cj
cmp eax, [ecx+10h]
jbe short loc_100040A3
cmp eax, [ecx+14h]
jb short loc_100040AB
loc_100040A3: ; CODE XREF: sub_1000408D+Fj
mov ecx, [ecx]
cmp ecx, edx
jz short loc_100040E0
jmp short loc_10004099
; ---------------------------------------------------------------------------
loc_100040AB: ; CODE XREF: sub_1000408D+14j
test al, 0Fh
jnz short loc_100040E0
mov esi, eax
mov edx, 100h
and esi, 0FFFh
cmp esi, edx
jb short loc_100040E0
mov esi, [esp+4+arg_4]
mov [esi], ecx
mov esi, [esp+4+arg_8]
mov ecx, eax
and cx, 0F000h
sub eax, ecx
mov [esi], ecx
sub eax, edx
pop esi
sar eax, 4
lea eax, [eax+ecx+8]
retn
; ---------------------------------------------------------------------------
loc_100040E0: ; CODE XREF: sub_1000408D+1Aj
; sub_1000408D+20j ...
xor eax, eax
pop esi
retn
sub_1000408D endp
; =============== S U B R O U T I N E =======================================
sub_100040E4 proc near ; CODE XREF: sub_10002E9C+4Dp
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
mov eax, [esp+arg_0]
mov ecx, [esp+arg_4]
sub ecx, [eax+10h]
sar ecx, 0Ch
lea eax, [eax+ecx*8+18h]
mov ecx, [esp+arg_8]
movzx edx, byte ptr [ecx]
add [eax], edx
and byte ptr [ecx], 0
cmp dword ptr [eax], 0F0h
mov dword ptr [eax+4], 0F1h
jnz short locret_10004128
inc dword_1000A874
cmp dword_1000A874, 20h
jnz short locret_10004128
push 10h
call sub_10003FCB
pop ecx
locret_10004128: ; CODE XREF: sub_100040E4+2Bj
; sub_100040E4+3Aj
retn
sub_100040E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10004129 proc near ; CODE XREF: sub_10002DEB+5Fp
; sub_100056EF+4Ap
Val = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 8
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, off_1000A380
push edi
loc_10004137: ; CODE XREF: sub_10004129+C6j
mov edx, [esi+10h]
cmp edx, 0FFFFFFFFh
jz loc_100041E2
mov edi, [esi+8]
lea ecx, [esi+2018h]
mov eax, edi
sub eax, esi
sub eax, 18h
sar eax, 3
shl eax, 0Ch
add eax, edx
cmp edi, ecx
mov [ebp+var_4], eax
jnb short loc_1000419C
loc_10004162: ; CODE XREF: sub_10004129+6Fj
mov ecx, [edi]
mov ebx, [ebp+arg_0]
cmp ecx, ebx
jl short loc_10004185
cmp [edi+4], ebx
jbe short loc_10004185
push ebx
push ecx
push eax
call sub_10004331
add esp, 0Ch
test eax, eax
jnz short loc_100041F4
mov eax, [ebp+var_4]
mov [edi+4], ebx
loc_10004185: ; CODE XREF: sub_10004129+40j
; sub_10004129+45j
add edi, 8
lea ecx, [esi+2018h]
add eax, 1000h
cmp edi, ecx
mov [ebp+var_4], eax
jb short loc_10004162
jmp short loc_1000419F
; ---------------------------------------------------------------------------
loc_1000419C: ; CODE XREF: sub_10004129+37j
mov ebx, [ebp+arg_0]
loc_1000419F: ; CODE XREF: sub_10004129+71j
mov eax, [esi+8]
mov ecx, [esi+10h]
lea edi, [esi+18h]
mov [ebp+Val], eax
cmp edi, eax
mov [ebp+var_4], ecx
jnb short loc_100041E5
loc_100041B2: ; CODE XREF: sub_10004129+B5j
mov eax, [edi]
cmp eax, ebx
jl short loc_100041D1
cmp [edi+4], ebx
jbe short loc_100041D1
push ebx
push eax
push [ebp+var_4]
call sub_10004331
add esp, 0Ch
test eax, eax
jnz short loc_100041F4
mov [edi+4], ebx
loc_100041D1: ; CODE XREF: sub_10004129+8Dj
; sub_10004129+92j
add [ebp+var_4], 1000h
add edi, 8
cmp edi, [ebp+Val]
jb short loc_100041B2
jmp short loc_100041E5
; ---------------------------------------------------------------------------
loc_100041E2: ; CODE XREF: sub_10004129+14j
mov ebx, [ebp+arg_0]
loc_100041E5: ; CODE XREF: sub_10004129+87j
; sub_10004129+B7j
mov esi, [esi]
cmp esi, off_1000A380
jz short loc_10004204
jmp loc_10004137
; ---------------------------------------------------------------------------
loc_100041F4: ; CODE XREF: sub_10004129+54j
; sub_10004129+A3j
mov off_1000A380, esi
sub [edi], ebx
mov [esi+8], edi
jmp loc_1000432C
; ---------------------------------------------------------------------------
loc_10004204: ; CODE XREF: sub_10004129+C4j
mov eax, offset off_10008360
mov edi, eax
loc_1000420B: ; CODE XREF: sub_10004129+F8j
cmp dword ptr [edi+10h], 0FFFFFFFFh
jz short loc_10004217
cmp dword ptr [edi+0Ch], 0
jnz short loc_10004223
loc_10004217: ; CODE XREF: sub_10004129+E6j
mov edi, [edi]
cmp edi, eax
jz loc_100042F8
jmp short loc_1000420B
; ---------------------------------------------------------------------------
loc_10004223: ; CODE XREF: sub_10004129+ECj
mov ebx, [edi+0Ch]
and [ebp+var_4], 0
mov esi, ebx
mov eax, ebx
sub esi, edi
sub esi, 18h
sar esi, 3
shl esi, 0Ch
add esi, [edi+10h]
cmp dword ptr [ebx], 0FFFFFFFFh
jnz short loc_10004252
loc_10004241: ; CODE XREF: sub_10004129+127j
cmp [ebp+var_4], 10h
jge short loc_10004252
add eax, 8
inc [ebp+var_4]
cmp dword ptr [eax], 0FFFFFFFFh
jz short loc_10004241
loc_10004252: ; CODE XREF: sub_10004129+116j
; sub_10004129+11Cj
mov eax, [ebp+var_4]
push 4
shl eax, 0Ch
push 1000h
push eax
push esi
mov [ebp+Val], eax
call ds:dword_10007040
cmp eax, esi
jnz loc_1000432A
push 0 ; Size
push [ebp+Val] ; Val
push esi ; Dst
call _memset
mov edx, [ebp+var_4]
add esp, 0Ch
test edx, edx
mov ecx, ebx
jle short loc_100042B9
lea eax, [esi+4]
mov [ebp+var_4], edx
loc_1000428F: ; CODE XREF: sub_10004129+18Ej
or byte ptr [eax+0F4h], 0FFh
lea edx, [eax+4]
mov [eax-4], edx
mov edx, 0F0h
mov [eax], edx
mov [ecx], edx
mov dword ptr [ecx+4], 0F1h
add eax, 1000h
add ecx, 8
dec [ebp+var_4]
jnz short loc_1000428F
loc_100042B9: ; CODE XREF: sub_10004129+15Ej
mov off_1000A380, edi
lea eax, [edi+2018h]
loc_100042C5: ; CODE XREF: sub_10004129+1A8j
cmp ecx, eax
jnb short loc_100042D5
cmp dword ptr [ecx], 0FFFFFFFFh
jz short loc_100042D3
add ecx, 8
jmp short loc_100042C5
; ---------------------------------------------------------------------------
loc_100042D3: ; CODE XREF: sub_10004129+1A3j
cmp ecx, eax
loc_100042D5: ; CODE XREF: sub_10004129+19Ej
sbb eax, eax
and eax, ecx
mov [edi+0Ch], eax
mov eax, [ebp+arg_0]
mov [esi+8], al
mov [edi+8], ebx
sub [ebx], eax
sub [esi+4], eax
lea ecx, [esi+eax+8]
lea eax, [esi+100h]
mov [esi], ecx
jmp short loc_1000432C
; ---------------------------------------------------------------------------
loc_100042F8: ; CODE XREF: sub_10004129+F2j
call sub_10003E31
test eax, eax
jz short loc_1000432A
mov ecx, [eax+10h]
mov [ecx+8], bl
lea edx, [ecx+ebx+8]
mov off_1000A380, eax
mov [ecx], edx
mov edx, 0F0h
sub edx, ebx
mov [ecx+4], edx
movzx edx, bl
sub [eax+18h], edx
lea eax, [ecx+100h]
jmp short loc_1000432C
; ---------------------------------------------------------------------------
loc_1000432A: ; CODE XREF: sub_10004129+143j
; sub_10004129+1D6j
xor eax, eax
loc_1000432C: ; CODE XREF: sub_10004129+D6j
; sub_10004129+1CDj ...
pop edi
pop esi
pop ebx
leave
retn
sub_10004129 endp
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_10004331 proc near ; CODE XREF: sub_10004129+4Ap
; sub_10004129+99p
var_4 = dword ptr -4
arg_0 = dword ptr 8
arg_4 = dword ptr 0Ch
arg_8 = dword ptr 10h
push ebp
mov ebp, esp
push ecx
mov ecx, [ebp+arg_0]
mov edx, [ebp+arg_8]
push ebx
push esi
mov esi, [ecx+4]
push edi
mov edi, [ecx]
lea ebx, [ecx+0F8h]
cmp esi, edx
mov [ebp+var_4], edi
mov eax, edi
mov [ebp+arg_0], ebx
jb short loc_10004376
lea eax, [edi+edx]
mov [edi], dl
cmp eax, ebx
jnb short loc_10004365
add [ecx], edx
sub [ecx+4], edx
jmp short loc_1000436E
; ---------------------------------------------------------------------------
loc_10004365: ; CODE XREF: sub_10004331+2Bj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_1000436E: ; CODE XREF: sub_10004331+32j
lea eax, [edi+8]
jmp loc_10004444
; ---------------------------------------------------------------------------
loc_10004376: ; CODE XREF: sub_10004331+22j
add esi, edi
cmp byte ptr [esi], 0
jz short loc_1000437F
mov eax, esi
loc_1000437F: ; CODE XREF: sub_10004331+4Aj
lea esi, [eax+edx]
cmp esi, ebx
jnb short loc_100043C9
loc_10004386: ; CODE XREF: sub_10004331+96j
mov bl, [eax]
test bl, bl
jnz short loc_100043BC
push 1
lea ebx, [eax+1]
pop esi
loc_10004392: ; CODE XREF: sub_10004331+68j
cmp byte ptr [ebx], 0
jnz short loc_1000439B
inc ebx
inc esi
jmp short loc_10004392
; ---------------------------------------------------------------------------
loc_1000439B: ; CODE XREF: sub_10004331+64j
cmp esi, edx
jnb short loc_100043ED
cmp eax, [ebp+var_4]
jnz short loc_100043A9
mov [ecx+4], esi
jmp short loc_100043B5
; ---------------------------------------------------------------------------
loc_100043A9: ; CODE XREF: sub_10004331+71j
sub [ebp+arg_4], esi
cmp [ebp+arg_4], edx
jb loc_1000444E
loc_100043B5: ; CODE XREF: sub_10004331+76j
mov edi, [ebp+var_4]
mov eax, ebx
jmp short loc_100043C1
; ---------------------------------------------------------------------------
loc_100043BC: ; CODE XREF: sub_10004331+59j
movzx esi, bl
add eax, esi
loc_100043C1: ; CODE XREF: sub_10004331+89j
lea esi, [eax+edx]
cmp esi, [ebp+arg_0]
jb short loc_10004386
loc_100043C9: ; CODE XREF: sub_10004331+53j
lea esi, [ecx+8]
loc_100043CC: ; CODE XREF: sub_10004331+EBj
; sub_10004331+F2j
cmp esi, edi
jnb short loc_1000444E
lea eax, [esi+edx]
cmp eax, [ebp+arg_0]
jnb short loc_1000444E
mov al, [esi]
test al, al
jnz short loc_1000441E
push 1
lea ebx, [esi+1]
pop eax
loc_100043E4: ; CODE XREF: sub_10004331+BAj
cmp byte ptr [ebx], 0
jnz short loc_1000440E
inc ebx
inc eax
jmp short loc_100043E4
; ---------------------------------------------------------------------------
loc_100043ED: ; CODE XREF: sub_10004331+6Cj
lea ebx, [eax+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_100043FE
sub esi, edx
mov [ecx], ebx
mov [ecx+4], esi
jmp short loc_10004407
; ---------------------------------------------------------------------------
loc_100043FE: ; CODE XREF: sub_10004331+C2j
and dword ptr [ecx+4], 0
lea esi, [ecx+8]
mov [ecx], esi
loc_10004407: ; CODE XREF: sub_10004331+CBj
mov [eax], dl
add eax, 8
jmp short loc_10004444
; ---------------------------------------------------------------------------
loc_1000440E: ; CODE XREF: sub_10004331+B6j
cmp eax, edx
jnb short loc_10004425
sub [ebp+arg_4], eax
cmp [ebp+arg_4], edx
jb short loc_1000444E
mov esi, ebx
jmp short loc_100043CC
; ---------------------------------------------------------------------------
loc_1000441E: ; CODE XREF: sub_10004331+ABj
movzx eax, al
add esi, eax
jmp short loc_100043CC
; ---------------------------------------------------------------------------
loc_10004425: ; CODE XREF: sub_10004331+DFj
lea ebx, [esi+edx]
cmp ebx, [ebp+arg_0]
jnb short loc_10004436
sub eax, edx
mov [ecx], ebx
mov [ecx+4], eax
jmp short loc_1000443F
; ---------------------------------------------------------------------------
loc_10004436: ; CODE XREF: sub_10004331+FAj
and dword ptr [ecx+4], 0
lea eax, [ecx+8]
mov [ecx], eax
loc_1000443F: ; CODE XREF: sub_10004331+103j
mov [esi], dl
lea eax, [esi+8]
loc_10004444: ; CODE XREF: sub_10004331+40j
; sub_10004331+DBj
imul ecx, 0Fh
shl eax, 4
sub eax, ecx
jmp short loc_10004450
; ---------------------------------------------------------------------------
loc_1000444E: ; CODE XREF: sub_10004331+7Ej
; sub_10004331+9Dj ...
xor eax, eax
loc_10004450: ; CODE XREF: sub_10004331+11Bj
pop edi
pop esi
pop ebx
leave
retn
sub_10004331 endp
; [0000002D BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION _exit. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND]
; [0000001A BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND]
; [00000141 BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND]
; [00000043 BYTES: COLLAPSED FUNCTION _xcptlookup. PRESS KEYPAD "+" TO EXPAND]
; [00000058 BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND]
; [000000B9 BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND]
; [00000099 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND]
; [000001B4 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND]
; [00000132 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND]
; [000001AB BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND]
; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND]
; [00000153 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND]
; [00000017 BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND]
; [00000208 BYTES: COLLAPSED FUNCTION _strtoxl. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000BC BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [00000080 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND]
; [00000038 BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [0000002F BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND]
; [00000031 BYTES: COLLAPSED FUNCTION _x_ismbbtype. PRESS KEYPAD "+" TO EXPAND]
; [00000199 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND]
; [0000004A BYTES: COLLAPSED FUNCTION _getSystemCP. PRESS KEYPAD "+" TO EXPAND]
; [00000033 BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND]
; [00000029 BYTES: COLLAPSED FUNCTION _setSBCS. PRESS KEYPAD "+" TO EXPAND]
; [00000185 BYTES: COLLAPSED FUNCTION _setSBUpLow. PRESS KEYPAD "+" TO EXPAND]
; [0000001C BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND]
; [00000012 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND]
; [0000002C BYTES: COLLAPSED FUNCTION __nh_malloc. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
sub_100056EF proc near ; CODE XREF: __nh_malloc+Bp
arg_0 = dword ptr 4
mov eax, dword_1000AD78
push esi
mov esi, [esp+4+arg_0]
cmp eax, 3
jnz short loc_10005713
cmp esi, dword_1000AD70
ja short loc_10005745
push esi
call ___sbh_alloc_block
test eax, eax
pop ecx
jz short loc_10005745
pop esi
retn
; ---------------------------------------------------------------------------
loc_10005713: ; CODE XREF: sub_100056EF+Dj
cmp eax, 2
jnz short loc_10005745
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_10005728
lea esi, [eax+0Fh]
and esi, 0FFFFFFF0h
jmp short loc_1000572B
; ---------------------------------------------------------------------------
loc_10005728: ; CODE XREF: sub_100056EF+2Fj
push 10h
pop esi
loc_1000572B: ; CODE XREF: sub_100056EF+37j
cmp esi, dword_1000A384
ja short loc_10005752
mov eax, esi
shr eax, 4
push eax
call sub_10004129
test eax, eax
pop ecx
jnz short loc_10005761
jmp short loc_10005752
; ---------------------------------------------------------------------------
loc_10005745: ; CODE XREF: sub_100056EF+15j
; sub_100056EF+20j ...
test esi, esi
jnz short loc_1000574C
push 1
pop esi
loc_1000574C: ; CODE XREF: sub_100056EF+58j
add esi, 0Fh
and esi, 0FFFFFFF0h
loc_10005752: ; CODE XREF: sub_100056EF+42j
; sub_100056EF+54j
push esi
push 0
push dword_1000AD74
call ds:dword_10007010
loc_10005761: ; CODE XREF: sub_100056EF+52j
pop esi
retn
sub_100056EF endp
; ---------------------------------------------------------------------------
align 10h
; [00000335 BYTES: COLLAPSED FUNCTION _memcpy. PRESS KEYPAD "+" TO EXPAND]
; [00000089 BYTES: COLLAPSED FUNCTION ___crtMessageBoxA. PRESS KEYPAD "+" TO EXPAND]
align 10h
; [000000FE BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND]
; [000000CC BYTES: COLLAPSED FUNCTION _toupper. PRESS KEYPAD "+" TO EXPAND]
; [00000075 BYTES: COLLAPSED FUNCTION __isctype. PRESS KEYPAD "+" TO EXPAND]
; [00000224 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND]
; [0000002B BYTES: COLLAPSED FUNCTION _strncnt. PRESS KEYPAD "+" TO EXPAND]
; [00000149 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND]
align 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_10006108 proc near ; CODE XREF: __global_unwind2+13p
jmp ds:dword_10007018
sub_10006108 endp
; ---------------------------------------------------------------------------
dw ?
dd 3Ch dup(?)
_text ends
; Section 2. (virtual address 00007000)
; Virtual size : 00000800 ( 2048.)
; Section size in file : 00000800 ( 2048.)
; Offset to raw data for section: 00007000
; Flags 40000040: Data Readable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read
_rdata segment para public 'DATA' use32
assume cs:_rdata
;org 10007000h
dword_10007000 dd 756Ch align 8
dword_10007008 dd 7550h ; _fast_error_exit+1Dr ...
dword_1000700C dd 753Ch ; start+C2r ...
dword_10007010 dd 7588h ; ___sbh_heap_init+Dr ...
dword_10007014 dd 7594h ; sub_10003653+2C5r ...
dword_10007018 dd 75A0h dword_1000701C dd 75ACh dword_10007020 dd 75BEh dword_10007024 dd 75D0h dword_10007028 dd 75DEh ; __setargv+23r ...
dword_1000702C dd 75F4h dword_10007030 dd 760Eh dword_10007034 dd 761Eh dword_10007038 dd 762Ch dword_1000703C dd 763Ah ; sub_10003E31+120r ...
dword_10007040 dd 7648h ; ___sbh_alloc_new_group+51r ...
dword_10007044 dd 7658h dword_10007048 dd 7666h dword_1000704C dd 767Ah dword_10007050 dd 768Eh dword_10007054 dd 76AAh dword_10007058 dd 76C4h dword_1000705C dd 76DEh ; ___crtLCMapStringA+20Dr
dword_10007060 dd 76F4h ; ___crtGetEnvironmentStringsA+E1r
dword_10007064 dd 770Ch dword_10007068 dd 7726h dword_1000706C dd 7738h ; __NMSG_WRITE+143r
dword_10007070 dd 7748h ; __ioinit+166r
dword_10007074 dd 7756h dword_10007078 dd 7762h ; _setSBUpLow+14r
dword_1000707C dd 776Eh dword_10007080 dd 7778h dword_10007084 dd 7784h dword_10007088 dd 7796h dword_1000708C dd 77A6h ; ___crtLCMapStringA+137r ...
dword_10007090 dd 77BCh ; ___crtLCMapStringA+A7r
dword_10007094 dd 77CCh ; ___crtLCMapStringA+14Dr ...
dword_10007098 dd 77DCh ; ___crtGetStringTypeA+8Dr
dword_1000709C dd 77EEh ; ___crtGetStringTypeA+12Dr
dd 2 dup(0)
dword_100070A8 dd 0FFFFFFFFh, 10002B12h, 10002B16h, 0dword_100070B8 dd 0FFFFFFFFh, 10002BA3h, 10002BA7h, 0dword_100070C8 dd 0FFFFFFFFh, 1000338Bh, 1000339Fh; char Str1[]
Str1 db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: sub_1000343B+8Eo
align 4
a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: sub_1000343B+4Fo
align 4
aRuntimeError db 'runtime error ',0
align 4
db 0Dh,0Ah,0
align 4
aTlossError db 'TLOSS error',0Dh,0Ah,0
align 4
aSingError db 'SING error',0Dh,0Ah,0
align 4
aDomainError db 'DOMAIN error',0Dh,0Ah,0
align 4
aR6028UnableToI db 'R6028',0Dh,0Ah
db '- unable to initialize heap',0Dh,0Ah,0
align 10h
aR6027NotEnough db 'R6027',0Dh,0Ah
db '- not enough space for lowio initialization',0Dh,0Ah,0
align 4
aR6026NotEnough db 'R6026',0Dh,0Ah
db '- not enough space for stdio initialization',0Dh,0Ah,0
align 10h
aR6025PureVirtu db 'R6025',0Dh,0Ah
db '- pure virtual function call',0Dh,0Ah,0
align 4
aR6024NotEnough db 'R6024',0Dh,0Ah
db '- not enough space for _onexit/atexit table',0Dh,0Ah,0
align 10h
aR6019UnableToO db 'R6019',0Dh,0Ah
db '- unable to open console device',0Dh,0Ah,0
align 4
aR6018Unexpecte db 'R6018',0Dh,0Ah
db '- unexpected heap error',0Dh,0Ah,0
align 10h
aR6017Unexpecte db 'R6017',0Dh,0Ah
db '- unexpected multithread lock error',0Dh,0Ah,0
align 10h
aR6016NotEnough db 'R6016',0Dh,0Ah
db '- not enough space for thread data',0Dh,0Ah,0
aAbnormalProgra db 0Dh,0Ah
db 'abnormal program termination',0Dh,0Ah,0
align 10h
aR6009NotEnough db 'R6009',0Dh,0Ah
db '- not enough space for environment',0Dh,0Ah,0
aR6008NotEnough db 'R6008',0Dh,0Ah
db '- not enough space for arguments',0Dh,0Ah,0
align 4
aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_1000A41Co
db '- floating point not loaded',0Dh,0Ah,0
align 10h
aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+119o
align 4
; char asc_100073B8[]
asc_100073B8 db 0Ah ; DATA XREF: __NMSG_WRITE+F1o
db 0Ah,0
align 4
; char aRuntimeErrorPr[]
aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+D3o
db 0Ah
db 'Program: ',0
align 4
; char a___[]
a___ db '...',0 ; DATA XREF: __NMSG_WRITE+BFo
; char Source[]
Source db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+7Do
align 4
aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: ___crtMessageBoxA+3Do
align 4
aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: ___crtMessageBoxA+35o
aMessageboxa db 'MessageBoxA',0 ; DATA XREF: ___crtMessageBoxA+24o
aUser32_dll db 'user32.dll',0 ; DATA XREF: ___crtMessageBoxA+Do
align 10h
dword_10007430 dd 0 ; ___crtGetStringTypeA+52o
dword_10007434 dd 0 ; ___crtGetStringTypeA+39o
dword_10007438 dd 0FFFFFFFFh, 10005E7Fh, 10005E83h, 0FFFFFFFFh, 10005F33h
; DATA XREF: ___crtLCMapStringA+5o
dd 10005F37h
dword_10007450 dd 0FFFFFFFFh, 100060B7h, 100060BBh, 74A0h, 2 dup(0)
; DATA XREF: ___crtGetStringTypeA+5o
dd 755Eh, 7008h, 7498h, 2 dup(0)
dd 757Ah, 7000h, 5 dup(0)
dd 756Ch, 0
dd 7550h, 753Ch, 7588h, 7594h, 75A0h, 75ACh, 75BEh, 75D0h
dd 75DEh, 75F4h, 760Eh, 761Eh, 762Ch, 763Ah, 7648h, 7658h
dd 7666h, 767Ah, 768Eh, 76AAh, 76C4h, 76DEh, 76F4h, 770Ch
dd 7726h, 7738h, 7748h, 7756h, 7762h, 776Eh, 7778h, 7784h
dd 7796h, 77A6h, 77BCh, 77CCh, 77DCh, 77EEh, 0
dd 6547017Fh, 646F4D74h, 48656C75h, 6C646E61h, 4165h, 784500B9h
dd 72507469h, 7365636Fh, 454B0073h, 4C454E52h, 642E3233h
dd 6C6Ch, 655201EBh, 65704F67h, 79654B6Eh, 44410041h, 49504156h
dd 642E3233h, 6C6Ch, 65480210h, 6C417061h, 636F6Ch, 65480216h
dd 72467061h, 6565h, 745202D7h, 776E556Ch, 646E69h, 654701B7h
dd 61745374h, 70757472h, 6F666E49h, 1100041h, 43746547h
dd 616D6D6Fh, 694C646Eh, 41656Eh, 654701E8h, 72655674h
dd 6E6F6973h, 17D0000h
aGetmodulefilen db 'GetModuleFileNameA',0
align 4
db 58h ; X
db 1, 47h, 65h
aTenvironmentva db 'tEnvironmentVariableA',0
dw 1E9h
aGetversionexa db 'GetVersionExA',0
dw 214h
aHeapdestroy db 'HeapDestroy',0
dd 65480212h, 72437061h, 65746165h, 3830000h, 74726956h
dd 466C6175h, 656572h, 69560381h, 61757472h, 6C6C416Ch
dd 636Fh, 6548021Ah, 65527061h, 6F6C6C41h, 35E0063h, 6D726554h
dd 74616E69h, 6F725065h, 73736563h, 1420000h
aGetcurrentproc db 'GetCurrentProcess',0
dw 36Eh
aUnhandledexcep db 'UnhandledExceptionFilter',0
align 2
dw 0F6h
aFreeenvironmen db 'FreeEnvironmentStringsA',0
db 0F7h ;
align 2
aFreeenvironm_0 db 'FreeEnvironmentStringsW',0
dw 394h
aWidechartomult db 'WideCharToMultiByte',0
db 55h ; U
db 1, 47h, 65h
aTenvironmentst db 'tEnvironmentStrings',0
db 57h ; W
db 1, 47h, 65h
aTenvironment_0 db 'tEnvironmentStringsW',0
align 2
dw 324h
aSethandlecount db 'SetHandleCount',0
align 4
dd 654701B9h, 64745374h, 646E6148h, 656Ch, 65470166h, 6C694674h
dd 70795465h, 3A40065h, 74697257h, 6C694665h, 1040065h
dd 43746547h, 666E4950h, 0FD006Fh, 41746547h, 5043h, 65470193h
dd 4D454F74h, 5043h, 654701A0h, 6F725074h, 64644163h, 73736572h
dd 2520000h, 64616F4Ch, 7262694Ch, 41797261h, 2750000h
aMultibytetowid db 'MultiByteToWideChar',0
dd 434C0244h, 5370614Dh, 6E697274h, 4167h, 434C0245h, 5370614Dh
dd 6E697274h, 5767h, 654701BAh, 72745374h, 54676E69h, 41657079h
dd 1BD0000h, 53746547h, 6E697274h, 70795467h, 5765h
_rdata ends
; Section 3. (virtual address 00008000)
; Virtual size : 00002D80 ( 11648.)
; Section size in file : 00002D80 ( 11648.)
; Offset to raw data for section: 00008000
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 10008000h
dword_10008000 dd 0 dword_10008004 dd 0 dword_10008008 dd 0 dd offset ___initmbctable
dword_10008010 dd 0 dword_10008014 dd 0 dword_10008018 dd 0 dword_1000801C dd 0 dword_10008020 dd 4 dup(0) ; char aLulhelloworldc[]
aLulhelloworldc db 'lulhelloworldcppftw',0 ; DATA XREF: sub_10001D53+17o
; sub_10001D53+38o ...
; char dword_10008044
dword_10008044 dd 0A130B2F6h, 9F70897Fh, 52h ; sub_10001D53+25o ...
; char dword_10008050
dword_10008050 dd 0A326A3F3h, 0C127CB76h, 0DB43B110h, 0 ; sub_10001D53+46o
; char Dest[]
Dest db 'ί&fxR@',0 ; DATA XREF: sub_10001D53+7Do
; sub_10001D53+90o ...
align 10h
; char aPFXR[]
aPFXR@U db 'ί&fxR@ԓ',0 ; DATA XREF: sub_10001D53+9Eo
; sub_10001D53+B1o ...
align 10h
; char aGAAqUf[]
aGAAqUf db 'ߣ |a[F۳' ; DATA XREF: sub_10001D53+C3o
; sub_10001D53+D6o ...
db 0FAh, 85h, 6Dh
dd 6DA6h
; char asc_10008094[]
asc_10008094 db '±' ; DATA XREF: sub_10001D53+E4o
; sub_10001D53+F7o ...
dw 0A301h
dd 0A564C67Eh, 0F858B057h, 6381E7B0h, 3CAE45B7h, 0
; char a1i_Vb_zv[]
a1i_Vb_zv db '1_v_V',0 ; DATA XREF: sub_10001D53+105o
; sub_10001D53+118o ...
; char a1mgDbqJE[]
a1mgDbqJE db '۴1gDQJĥ' ; DATA XREF: sub_10001D53+12Ao
; sub_10001D53+13Do ...
db 0F5h, 2 dup(0)
; char aGSQtzc[]
aGSQtzc@VT db 'ߣ {qZ@٢ќt',0 ; DATA XREF: sub_10001D53+14Bo
; sub_10001D53+15Eo ...
align 4
; char aG5icRJ[]
aG5icRJ db 'ʣ5C{[\' ; DATA XREF: sub_10001D53+16Co
; sub_10001D53+17Fo ...
db 0FAh
aLr db 'ًr',0
align 10h
; char aPFXvkU[]
aPFXvkU db 'ί&fxK]Γ',0 ; DATA XREF: sub_10001D53+18Do
; sub_10001D53+1A0o ...
align 10h
; char aPFXglBx[]
aPFXglBx db 'ί&fxL[ҵx',0 ; DATA XREF: sub_10001D53+1AEo
; sub_10001D53+1C1o ...
align 4
; char aV[]
aV db 'ϴ=v' ; DATA XREF: sub_10001D53+1CFo
; sub_10001D53+1E2o ...
db 0F7h, 66h, 9Ch
aIIoU db ']\ěщoU',0
align 4
; char aGSQtzc[]
aGSQtzc@VT_0 db 'ˣ {qZ@٢ќt',0 ; DATA XREF: sub_10001D53+1F0o
; sub_10001D53+203o ...
align 4
; char aG[]
aG@ilN db 'ʣ',27h,'~@LN',0 ; DATA XREF: sub_10001D53+211o
; sub_10001D53+224o ...
align 4
; char aKVquazJ[]
aKVquazJ db '۪;vuZJ',0 ; DATA XREF: sub_10001D53+232o
; sub_10001D53+245o ...
; char aGAzUzECs[]
aGAzUzECs db '̣&zu[]صїs',0 ; DATA XREF: sub_10001D53+25Fo
; sub_10001D53+272o ...
align 4
; char aPFXLJ[]
aPFXLJ db 'ί&fxLJ',0 ; DATA XREF: sub_10001D53+280o
; sub_10001D53+293o ...
; char aK1ic[]
aK1ic db '˪1c',0 ; DATA XREF: sub_10001D53+2E3o
; sub_10001D53+2F6o ...
align 10h
; char aGBUqjB[]
aGBUqjB db 'ˣ |ujB',0 ; DATA XREF: sub_10001D53+2A1o
; sub_10001D53+2B4o ...
align 10h
; char aGBUqjB_0[]
aGBUqjB_0 db 'ߣ |ujB',0 ; DATA XREF: sub_10001D53+2C2o
; sub_10001D53+2D5o ...
align 10h
; char a8oDbJ[]
a8oDbJ db 'ʲ8|d[\' ; DATA XREF: sub_10001D53+310o
; sub_10001D53+323o ...
db 0F5h
aGVe db '҂e',0
align 4
; char a8ivUnzjE[]
a8ivUnzjE db 'ʲ8v{NJĥ' ; DATA XREF: sub_10001D53+331o
; sub_10001D53+344o ...
db 0F6h, 91h, 66h
dd 0B349A5h
; char a8kvWSeENonOK[]
a8kvWSeENonOK db 'ʲ8vWS]ҥǍo{ [k' ; DATA XREF: sub_10001D53+352o
; sub_10001D53+365o ...
dw 8F6h
dd 0D5107191h, 1BCFh
; char a1mgRRN[]
a1mgRRN db '۴1gRRn',0 ; DATA XREF: sub_10001D53+37Fo
; sub_10001D53+392o ...
; char aG5iuXc[]
aG5iuXc db 'ʣ5Ux',0 ; DATA XREF: sub_10001D53+3A0o
; sub_10001D53+3B3o ...
align 10h
; char aGLzQawpj[]
aGLzQawpj db 'ߣ zqWJ' ; DATA XREF: sub_10001D53+3C1o
; sub_10001D53+3D4o ...
db 0F2h
dd 0AEh
; char aGLzQgqA[]
aGLzQgqA db 'ˣ zqQAó',0 ; DATA XREF: sub_10001D53+3E2o
; sub_10001D53+3F5o ...
align 10h
; char dword_10008220
dword_10008220 dd 0AC22A2F9h, 0C127CE63h, 0DB43B110h, 0 ; sub_10001D53+67o ...
; char aGSF_J[]
aGSF_J db 'ߣ `f_J' ; DATA XREF: sub_10001D53+403o
; sub_10001D53+416o ...
db 0F6h
align 10h
; char aG3vcZMn[]
aG3vcZMn db 'ʣ3cz[n',0 ; DATA XREF: sub_10001D53+424o
; sub_10001D53+437o ...
; char aG3FFkhC[]
aG3FFkhC db 'ʣ3ffhC³' ; DATA XREF: sub_10001D53+445o
; sub_10001D53+458o ...
db 0F1h, 9Ch, 41h
align 10h
; char aG3o[]
aG3o db 'ʣ3' ; DATA XREF: sub_10001D53+472o
; sub_10001D53+485o ...
dd 9667C87Fh, 56B075h
; char aVJm[]
aVJm db '۳&v`M]',0 ; DATA XREF: sub_10001D53+493o
; sub_10001D53+4A6o ...
; char aIzIqL[]
aIzIqL db ':ql',0 ; DATA XREF: sub_10001D53+4B4o
; sub_10001D53+4C7o ...
; char aUlMa[]
aUlMa db '#a',0 ; DATA XREF: sub_10001D53+4D5o
; sub_10001D53+4E8o ...
align 4
; char aIAXNASOI[]
aIAXNASOI db '۩:axnAҺoI' ; DATA XREF: sub_10001D53+5CEo
; sub_10001D53+5E1o ...
db 11h
dd 39DA5F56h, 0CE26639Dh, 0A84C11E5h, 96645E6Ah, 0
; char aG1[]
aG1 db 'ڣ1',0 ; DATA XREF: sub_10001D53+5EFo
; sub_10001D53+602o
align 4
; char aKPrUqrL[]
aKPrUqrL db 'ߪ;rURL',0 ; DATA XREF: sub_10001D53+559o
; sub_10001D53+56Co
; char aKPrRb[]
aKPrRb db 'ߪ;rR[',0 ; DATA XREF: sub_10001D53+538o
; sub_10001D53+54Bo
align 10h
; char aGBrLz[]
aGBrLz@ db 'ˣ r`L@',0 ; DATA XREF: sub_10001D53+586o
; sub_10001D53+599o ...
align 10h
; char aGBrLz[]
aGBrLz@_0 db 'ߣ r`L@',0 ; DATA XREF: sub_10001D53+5A7o
; sub_10001D53+5BAo ...
align 10h
; char aI5i_Vb_zv[]
aI5i_Vb_zv db 'ԩ5_v_V' ; DATA XREF: sub_10001D53+4F6o
; sub_10001D53+509o ...
db 0F6h
align 10h
; char aGAAqAnBa[]
aGAAqAnBa db 'ߣ |a[NٲA',0 ; DATA XREF: sub_10001D53+517o
; sub_10001D53+52Ao ...
align 4
dd offset aSbiedll_dll ; "SbieDll.dll"
dd offset aDbghelp_dll ; "dbghelp.dll"
aDbghelp_dll db 'dbghelp.dll',0 ; DATA XREF: .data:10008318o
aSbiedll_dll db 'SbieDll.dll',0 ; DATA XREF: .data:10008314o
align 10h
dword_10008340 dd 19930520h, 3 dup(0) ; __NLG_Notify+2o
off_10008350 dd offset __exit ; DATA XREF: __amsg_exit+1Cr
dword_10008354 dd 2 ; __NMSG_WRITE+46r
dd 10h, 0
off_10008360 dd offset off_10008360 ; DATA XREF: sub_10003E31+Do
; sub_10003E31+69o ...
off_10008364 dd offset off_10008360 ; DATA XREF: sub_10003E31:loc_10003EB1r
; sub_10003E31+89w ...
dd offset dword_10008378
dd offset dword_10008378
dword_10008370 dd 0FFFFFFFFh ; sub_10003F75:loc_10003FC2w
dd 0FFFFFFFFh
dword_10008378 dd 0F0h, 0F1h, 800h dup(0) ; .data:1000836Co
off_1000A380 dd offset off_10008360 ; DATA XREF: sub_10003F75+15r
; sub_10003F75+20w ...
dword_1000A384 dd 1E0h ; sub_100056EF:loc_1000572Br
dword_1000A388 dd 0C0000005h ; _xcptlookup+11o
dd 0Bh, 0
dd 0C000001Dh, 4, 0
dd 0C0000096h, 4, 0
dd 0C000008Dh, 8, 0
dd 0C000008Eh, 8, 0
dd 0C000008Fh, 8, 0
dd 0C0000090h, 8, 0
dd 0C0000091h, 8, 0
dd 0C0000092h, 8, 0
dd 0C0000093h, 8, 0
dword_1000A400 dd 3 dword_1000A404 dd 7 dword_1000A408 dd 0Ah dword_1000A40C dd 8Ch ; __XcptFilter+8Fw ...
dd 0FFFFFFFFh, 0A00h
dword_1000A418 dd 2 ; __NMSG_WRITE+28r
off_1000A41C dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE+FCr
; __NMSG_WRITE+12Dr
; "R6002\r\n- floating point not loaded\r\n"
dd 8, 1000733Ch, 9, 10007310h, 0Ah, 100072ECh, 10h, 100072C0h
dd 11h, 10007290h, 12h, 1000726Ch, 13h, 10007240h, 18h
dd 10007208h, 19h, 100071E0h, 1Ah, 100071A8h, 1Bh, 10007170h
dd 1Ch, 10007148h, 78h, 10007138h, 79h, 10007128h, 7Ah
dd 10007118h, 0FCh, 10007114h, 0FFh, 10007104h
dword_1000A4A8 dd 2 dup(0) byte_1000A4B0 db 1 ; DATA XREF: __setmbcp+E1r
db 2, 4, 8
align 8
dword_1000A4B8 dd 3A4h dword_1000A4BC dd 82798260h dd 21h, 0
dword_1000A4C8 dd 0DFA6h align 10h
dd 0A5A1h, 0
dd 0FCE09F81h, 0
dd 0FC807E40h, 0
dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE40h, 0
dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0)
dd 0FE81h, 0
dd 0FE41h, 0
dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0)
dd 0FE81h, 0
dd 0FEA17E40h, 0
dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0)
dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0
dword_1000A5A8 dd 2 dup(0) off_1000A5B0 dd offset __wctype+2 ; DATA XREF: _strtoxl:loc_10004EE9r
; _strtoxl:loc_10004FA6r ...
dd offset __wctype+2
public __wctype
; const unsigned __int16 _wctype[]
__wctype dd 200000h ; DATA XREF: _x_ismbbtype+18r
; .data:off_1000A5B0o ...
unicode 0, < ((((( H>
dd 7 dup(100010h), 840010h, 4 dup(840084h), 100084h, 3 dup(100010h)
dd 3 dup(810081h), 0Ah dup(10001h), 3 dup(100010h), 3 dup(820082h)
dd 0Ah dup(20002h), 2 dup(100010h), 20h, 40h dup(0)
dword_1000A7BC dd 1 ; _strtoxl:loc_10004F8Er ...
dd 2Eh, 1
dword_1000A7C8 dd 0 ; sub_10002366+1D9w ...
dword_1000A7CC dd 0 ; sub_10002366+C3w ...
dword_1000A7D0 dd 0 ; sub_10001A2B+263r ...
dword_1000A7D4 dd 0 ; sub_10002366+86w ...
dword_1000A7D8 dd 0 ; sub_10002366+30Er
dword_1000A7DC dd 0 ; sub_10002366+1ECw ...
dword_1000A7E0 dd 0 ; sub_10002885+79r
align 8
dword_1000A7E8 dd 0 ; sub_10002366+3B8r
dword_1000A7EC dd 0 ; sub_10002366+412r
dword_1000A7F0 dd 0 ; sub_10002366+B0w ...
dword_1000A7F4 dd 0 ; sub_10002366+D6w ...
dword_1000A7F8 dd 0 ; sub_10002366+3E5r ...
dword_1000A7FC dd 0 ; sub_10002366+EDw ...
dword_1000A800 dd 0 ; sub_10002366+176w ...
dword_1000A804 dd 0 ; sub_10002366+100w ...
dword_1000A808 dd 0 ; sub_10002366+73w ...
dword_1000A80C dd 0 ; sub_10002366+43r ...
dd 0
dword_1000A814 dd 0 ; sub_10002885+10r
dword_1000A818 dd 0 ; sub_10002366+3DCr ...
dword_1000A81C dd 0 ; sub_10002366+3AFr
dword_1000A820 dd 0 ; sub_10002366+3F7r ...
dword_1000A824 dd 0 ; sub_10002366+139w ...
dword_1000A828 dd 0 ; sub_10002366+20r ...
dword_1000A82C dd 0 ; sub_10002366+3C1r
dword_1000A830 dd 0 ; sub_10002366+126w ...
dword_1000A834 dd 0 ; sub_10002366+409r
dword_1000A838 dd 0 ; sub_10001A2B+110r ...
dword_1000A83C dd 0 ; sub_10001A2B+1DAr ...
dword_1000A840 dd 0 ; sub_10002366+400r ...
dword_1000A844 dd 0 ; sub_10002366+41Br
dword_1000A848 dd 0 ; sub_10002366+3A6r
dword_1000A84C dd 0 ; sub_10001A2B+28Ar ...
dword_1000A850 dd 0 ; sub_10002366+3EEr ...
dword_1000A854 dd 0 ; sub_10002885+9Dr
dword_1000A858 dd 0 ; sub_10002366+49w ...
; char dword_1000A85C[]
dword_1000A85C dd 0 ; char *Str
Str dd 0 ; DATA XREF: start+84w
; __setenvp:loc_10004745r ...
align 8
dword_1000A868 dd 0 ; _fast_error_exitr ...
dword_1000A86C dd 0 dword_1000A870 dd 0 ; _mallocr
dword_1000A874 dd 0 ; sub_100040E4+2Dw ...
dword_1000A878 dd 0 dd 2 dup(0)
dword_1000A884 dd 0 dword_1000A888 dd 0 dword_1000A88C dd 0 dword_1000A890 dd 0 dword_1000A894 dd 0 dword_1000A898 dd 0 align 10h
dword_1000A8A0 dd 0 align 10h
dword_1000A8B0 dd 0 align 8
byte_1000A8B8 db 0 ; DATA XREF: _doexit+2Dw
align 4
dword_1000A8BC dd 0 dword_1000A8C0 dd 0 dword_1000A8C4 dd 0 ; __XcptFilter+46w ...
dword_1000A8C8 dd 41h dup(0) dword_1000A9CC dd 0 ; ___crtGetEnvironmentStringsA+23w ...
dword_1000A9D0 dd 0 dword_1000A9D4 dd 0 ; _getSystemCP+4w ...
dword_1000A9D8 dd 0 ; ___crtMessageBoxA+2Ew ...
dword_1000A9DC dd 0 ; ___crtMessageBoxA:loc_10005AF4r
dword_1000A9E0 dd 0 ; ___crtMessageBoxA+60r
dd 2 dup(0)
dword_1000A9EC dd 0 dd 3 dup(0)
dword_1000A9FC dd 0 ; ___crtLCMapStringA+C0r ...
dd 0
dword_1000AA04 dd 0 ; ___crtLCMapStringA+4Cw ...
dword_1000AA08 dd 0 ; ___crtGetStringTypeA:loc_10006028w
dword_1000AA0C dd 0 ; __setmbcp+65w ...
dword_1000AA10 dd 3 dup(0) ; __setmbcp+171o ...
dword_1000AA1C dd 0 ; __setmbcp+15Dw ...
byte_1000AA20 db 0 ; DATA XREF: _setSBUpLow:loc_1000561Cw
; _setSBUpLow:loc_10005639w ...
align 4
dd 3Fh dup(0)
byte_1000AB20 db 0 ; DATA XREF: __setmbcp+5Co
; __setmbcp+AFo ...
byte_1000AB21 db 0 ; DATA XREF: _parse_cmdline+3Fr
; _parse_cmdline+84r ...
align 4
dd 40h dup(0)
dword_1000AC24 dd 0 ; __setmbcp+12Bw ...
dd 6 dup(0)
dword_1000AC40 dd 0 ; __ioinit+45r ...
dword_1000AC44 dd 3Fh dup(0) dword_1000AD40 dd 0 ; __ioinit:loc_10004BF5r ...
dword_1000AD44 dd 0 dword_1000AD48 dd 0 dword_1000AD4C dd 0 dword_1000AD50 dd 0 dword_1000AD54 dd 0 dword_1000AD58 dd 0 ; ___sbh_alloc_new_region+5r ...
dword_1000AD5C dd 0 ; sub_10003653+25Ar ...
dword_1000AD60 dd 0 ; sub_10003653+311w ...
dword_1000AD64 dd 0 ; sub_10003653+22Dr ...
dword_1000AD68 dd 0 ; ___sbh_find_blockr ...
dword_1000AD6C dd 0 ; ___sbh_find_block+8r ...
dword_1000AD70 dd 0 ; ___sbh_heap_init+36w ...
dword_1000AD74 dd 0 ; sub_10002E9C+5Ar ...
dword_1000AD78 dd 0 ; sub_10002E9C+Cr ...
dword_1000AD7C dd 0 align 100h
_data ends
; Section 4. (virtual address 0000B000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 0000AE00
; Flags C0000040: Data Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Pure data
; Segment permissions: Read/Write
_idata2 segment para public 'DATA' use32
assume cs:_idata2
;org 1000B000h
align 2000h
_idata2 ends
end start