Function at 0x48a870
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x8d24
call fcn.004c5460
push ebx
push esi
push edi
xor edi, edi
mov dword [esp + 0x54], ecx
push 0x40
lea eax, [esp + 0x1e4]
mov dword [esp + 0x24], edi
mov ebx, edx
push edi
push eax
mov dword [esp + 0x74], ebx
call fcn.004ad280
add esp, 0xc
lea eax, [esp + 0x160]
push 0x40
push edi
push eax
call fcn.004ad280
add esp, 0xc
lea eax, [esp + 0x1a0]
xorps xmm0, xmm0
movaps xmmword [esp + 0x120], xmm0
push 0x40
push edi
push eax
call fcn.004ad280
xor eax, eax
movq xmm0, qword [str._UInt]
mov dword [esp + 0x50], eax
add esp, 0xc
mov dword [esp + 0x2c], eax
xor esi, esi
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x88]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x110]
mov dword [esp + 0xac], eax
lea eax, [esp + 0xf0]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x74], eax
mov eax, dword [0x4eca8c]
mov dword [esp + 0x4a0], eax
mov ax, word [0x4eca90]
push 0x436
mov word [esp + 0x4a8], ax
lea eax, [esp + 0x4aa]
push esi
push eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x6c], 4
mov dword [esp + 0xf4], 1
mov dword [esp + 0x9c], 1
mov dword [esp + 0xc4], 1
mov dword [esp + 0x124], 6
movq qword [esp + 0x4a4], xmm0
call fcn.004ad280
xor cl, cl
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x60]
add esp, 0xc
mov byte [esp + 0x1b], cl
mov byte [esp + 0x28], cl
cmp ebx, 4
jle 0x48a9e2
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
mov dword [esp + 0x24], ebx
jmp 0x48ab5a
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 6
je 0x48aa0e
cmp ecx, 4
jne 0x48aa46
mov eax, dword [eax]
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x48a9ff
mov edx, dword [eax + 0xc]
jmp 0x48aa01
mov edx, eax
test byte [edx + 0x15], 2
je 0x48aa2f
test cl, cl
jne 0x48aa0e
mov eax, dword [eax + 0xc]
cmp dword [eax], edi
je 0x48aa46
push 0x4cd2cc
push str.Invalid_structure_definition.
mov ecx, 0x4f9a70
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test cl, cl
jne 0x48aa38
mov ecx, dword [eax + 0xc]
jmp 0x48aa3a
mov ecx, eax
test byte [ecx + 0x15], 4
je 0x48aa46
push eax
call fcn.0043c7a0
push 0x28
call fcn.004abcce
add esp, 4
mov dword [esp + 0x3c], eax
mov ecx, eax
call fcn.0048a6f0
push 0
push 0
mov ebx, eax
push 0
mov dword [esp + 0x30], ebx
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [ebx + 0x20], eax
mov byte [ebx + 0x14], 1
test eax, eax
je 0x48c49f
push 1
push esi
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00485240
add esp, 0x10
cmp dword [esp + 0x80], 1
je 0x48aaf1
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x48c212.1
jmp dword [ecx*4 + 0x48c4e8]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401530
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4f9a70
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4cd2cc
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4f9a70
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x20
call fcn.004abcce
mov dword [esp + 0x40], eax
add esp, 4
cmp dword [esp + 0x68], 1
mov dword [eax + 4], 1
mov dword [eax], vtable.Object.0
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x18], eax
jle 0x48ab49
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.004619e0
or eax, edx
je 0x48ab49
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.004619e0
jmp 0x48ab57
push dword [ebx + 0x18]
push 8
push dword [ebx + 0x20]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebx + 0x24], eax
mov dword [esp + 0xf8], edi
mov dword [esp + 0x108], 6
mov dword [esp + 0xd8], 6
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0xd0], eax
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x48ab8b.1
jmp dword [ecx*4 + 0x48c500]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401530
mov esi, eax
mov dword [esp + 0x1c], eax
jmp 0x48abb2
mov esi, dword [eax]
jmp 0x48abae
mov esi, 0x4cd2cc
mov dword [esp + 0x1c], esi
mov ecx, esi
call fcn.00410ac0
test al, al
je 0x48abcc
push 0x10
push 0
push esi
call fcn.004b2a5a
add esp, 0xc
jmp 0x48abd5
push esi
call fcn.004b2533
add esp, 4
lea edx, [esp + 0x220]
mov dword [esp + 0x40], eax
mov ecx, eax
call fcn.0040bb50
lea edx, [eax + 2]
nop word [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x48abf0
sub eax, edx
sar eax, 1
cmp word [esi + eax*2], 0x3a
jne 0x48ac44
cmp dword [esp + 0x40], edi
jle 0x48ac44
lea ecx, [esp + 0x220]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48ac16
mov eax, dword [esp + 0x40]
sub ecx, edx
sar ecx, 1
cdq
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
lea esi, [esi + ecx*2]
add esi, 2
mov dword [esp + 0x1c], esi
jmp 0x48ac7e
cmp dword [esp + 0x68], 5
jne 0x48ac6e
mov eax, dword [esp + 0x54]
xor edx, edx
mov ecx, dword [eax + 0xc]
call fcn.004619e0
mov dword [esp + 0x40], eax
cdq
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
jmp 0x48ac7e
xorps xmm0, xmm0
mov dword [esp + 0x40], edi
movlpd qword [esp + 0xb0], xmm0
cmp word [esi], di
je 0x48c1d8
xor edi, edi
nop dword [eax]
mov eax, dword [esp + 0x50]
mov ebx, edi
push 2
push 0x4eca94
push esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], eax
call fcn.004b7458
add esp, 0xc
test eax, eax
jne 0x48ad30
mov eax, dword [esp + 0x1c]
movzx edi, word [eax]
test di, di
je 0x48ad01
mov eax, edi
nop dword [eax]
nop dword [eax + eax]
movzx edx, ax
mov ecx, 0x4ebac0
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x48ad85
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48ace0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x48acd0
mov esi, dword [esp + 0x1c]
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48ad10
sub ecx, edx
sar ecx, 1
lea esi, [esi + ecx*2]
mov dword [esp + 0x1c], esi
cmp word [esi], 0
je 0x48c1d0
mov eax, dword [esp + 0x1c]
mov edi, esi
movzx eax, word [eax]
test ax, ax
je 0x48ad6d
nop
movzx edx, ax
mov ecx, str._n_r_t
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x48ad6f
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48ad50
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x48ad40
xor esi, esi
cmp dword [esp + 0x1c], esi
mov esi, dword [esp + 0x1c]
jne 0x48adc8
mov edi, dword [esp + 0x44]
add esi, 2
jmp 0x48c1c2
mov esi, dword [esp + 0x1c]
mov eax, edi
mov dword [esp + 0x1c], esi
nop
movzx edx, ax
mov ecx, 0x4ebac0
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x48ad26
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48ada0
movzx eax, word [esi + 2]
add esi, 2
mov dword [esp + 0x1c], esi
test ax, ax
jne 0x48ad90
xor esi, esi
jmp 0x48ad22
push 0x7b
push esi
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48af0a
mov edx, 0x4eca74
mov ecx, esi
call fcn.0040bad0
test eax, eax
je 0x48ae12
push 0x7b
push esi
call fcn.004ace17
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, 0x4eca74
mov esi, eax
call fcn.0040bad0
cmp esi, eax
mov esi, dword [esp + 0x1c]
jae 0x48af0a
inc dword [esp + 0x44]
xor eax, eax
test ebx, ebx
push str.struct
cmovne eax, dword [esp + 0x40]
push esi
mov dword [esp + 0x58], eax
call fcn.004acede
add esp, 8
test eax, eax
je 0x48ae59
push str.struct
push esi
call fcn.004acede
mov edi, dword [esp + 0x24]
mov esi, eax
push 0x7b
push edi
call fcn.004ace17
add esp, 0x10
cmp esi, eax
jae 0x48ae5d
mov al, 1
jmp 0x48ae5f
mov edi, dword [esp + 0x1c]
xor al, al
mov byte [esp + ebx + 0x121], al
mov ebx, dword [esp + 0x40]
test ebx, ebx
jle 0x48ae84
mov ecx, edi
call fcn.00484f80
movzx eax, al
cmp eax, ebx
jle 0x48ae84
mov esi, ebx
mov dword [esp + 0x38], ebx
jmp 0x48ae92
mov ecx, edi
call fcn.00484f80
movzx esi, al
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x20]
mov eax, ecx
cdq
idiv esi
test edx, edx
je 0x48aeac
mov eax, esi
sub eax, edx
cdq
idiv esi
add ecx, edx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
cmp eax, esi
jle 0x48aec4
test ebx, ebx
jle 0x48aebe
mov esi, ebx
cmp eax, ebx
jg 0x48aec0
mov esi, eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x34]
xor bl, bl
push 0x7b
push edi
mov dword [esp + 0x34], 0
mov dword [esp + eax*4 + 0x1ac], esi
mov dword [esp + eax*4 + 0x1ec], ecx
mov dword [esp + eax*4 + 0x16c], 0
mov byte [esp + 0x23], bl
mov byte [esp + 0x30], bl
call fcn.004ace17
mov edi, dword [esp + 0x4c]
add esp, 8
lea esi, [eax + 2]
jmp 0x48c1c2
cmp word [esi], 0x7d
jne 0x48afde
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x20]
mov eax, ebx
mov ecx, dword [esp + edx*4 + 0x1e0]
sub eax, ecx
mov esi, dword [esp + edx*4 + 0x160]
cmp eax, esi
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x1c]
jle 0x48af45
mov dword [esp + 0x50], eax
mov dword [esp + edx*4 + 0x160], eax
cmp edx, 1
jle 0x48af6f
cmp byte [esp + edx + 0x11f], 0
je 0x48af6f
mov ecx, dword [esp + edx*4 + 0x1a0]
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x48af71
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add ebx, edx
jmp 0x48af71
mov ebx, ecx
mov eax, dword [esp + 0x2c]
mov edx, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + ebx*4 + 0x1a0]
cmp ecx, eax
cmovg eax, ecx
mov ecx, dword [esp + 0x50]
cmp ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
cmovle ecx, dword [esp + 0x30]
sub ebx, 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x50], ecx
lea ebx, [edx + ecx]
cmovne ebx, edx
xor cl, cl
add esi, 2
mov byte [esp + 0x1b], cl
mov byte [esp + 0x28], cl
mov edx, 0x4eca74
mov ecx, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
call fcn.0040bad0
cmp esi, eax
jne 0x48afd5
lea esi, [edi + 4]
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 0x44]
jmp 0x48c1c6
mov edx, 0x4ecab8
mov dword [esp + 0x34], 0
mov ecx, esi
mov dword [esp + 0x30], 0
call fcn.0040bad0
test eax, eax
je 0x48b03c
push 0x4ecab8
push esi
call fcn.004b8ab2
mov esi, eax
add esp, 8
cmp esi, 0x4000
ja 0x48c219
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0xd28]
push esi
push ebx
push eax
call fcn.004b3100
add esp, 0xc
xor eax, eax
mov word [esp + esi*2 + 0xd28], ax
jmp 0x48b084
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48b041
sub ecx, edx
sar ecx, 1
cmp ecx, 0x4000
ja 0x48c359
lea edx, [esp + 0xd28]
mov ecx, esi
sub edx, esi
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x48b070
mov ebx, dword [esp + 0x1c]
or edx, 0xffffffff
lea ecx, [esp + 0xd28]
call fcn.00420ad0
lea eax, [esp + 0xd28]
push 0x2a
push eax
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48b0eb
lea eax, [esp + 0xd28]
push 0x3a
push eax
call fcn.004ace17
add esp, 8
test eax, eax
jne 0x48c23f
push eax
push eax
push 0x4001
push 0xffffffffffffffff
push 1
push 0x4cd2cc
mov edx, 0x4e4980
lea ecx, [esp + 0xd40]
call fcn.00492590
add esp, 0x18
mov dword [esp + 0x34], eax
lea eax, [esp + 0xd28]
push 0x5b
push eax
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48b1a4
push 0x14
lea eax, [esp + 0xd2c]
push 0x5b
push eax
call fcn.004ace17
add esp, 8
push eax
lea eax, [esp + 0x138]
push eax
call fcn.004b3100
add esp, 0xc
lea eax, [esp + 0x130]
push 0x4ecafc
push eax
call fcn.004b8ab2
xor ecx, ecx
mov word [esp + eax*2 + 0x13a], cx
lea ecx, [esp + 0x13a]
call fcn.0041e0c0
push 0
push 0
push 0x4001
push 1
push 1
push 0x4cd2cc
lea edx, [esp + 0x150]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0xd48]
call fcn.00492590
lea eax, [esp + 0xd48]
push 0x5b
push eax
call fcn.004ace17
add esp, 0x28
test eax, eax
jne 0x48c269
or edx, 0xffffffff
lea ecx, [esp + 0xd28]
call fcn.00420ad0
mov di, word [esp + 0xd28]
lea esi, [esp + 0xd28]
test di, di
je 0x48b22d
movzx eax, di
nop dword [eax + eax]
movzx edx, ax
mov ecx, 0x4e2ac4
mov eax, 0x20
nop dword [eax]
cmp dx, ax
je 0x48b24b
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48b1d0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x48b1c0
lea esi, [esp + 0xd28]
movzx eax, di
nop word [eax + eax]
movzx edx, ax
mov ecx, 0x4ecab8
mov eax, 0x7d
nop dword [eax]
cmp dx, ax
je 0x48b24b
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48b210
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x48b200
mov edx, 0x4ecab8
mov ecx, ebx
call fcn.0040bad0
test eax, eax
jne 0x48b486
cmp dword [esp + 0x20], eax
jne 0x48b486
lea eax, [esp + 0xd28]
push 0x4e5268
push eax
call fcn.004b8ab2
mov esi, eax
add esp, 8
cmp esi, 0x218
ja 0x48c269
lea ecx, [esp + 0xd28]
movzx edx, word [ecx]
cmp edx, 0x20
je 0x48b282
cmp edx, 9
jne 0x48b287
add ecx, 2
jmp 0x48b275
mov edx, 0x4e2ac4
call fcn.0040bad0
mov ebx, eax
test ebx, ebx
je 0x48b29d
cmp word [ebx], 0x3a
je 0x48b304
lea ecx, [esp + 0x498]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48b2a7
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 2]
push eax
lea eax, [esp + 0xd2c]
push eax
lea eax, [esp + 0x4a2]
push eax
call fcn.004af905
add esp, 0xc
test eax, eax
je 0x48b2e0
xor cl, cl
mov byte [esp + 0x1b], cl
mov byte [esp + 0x28], cl
push esi
lea eax, [esp + 0xd2c]
push eax
lea eax, [esp + 0x4a2]
push eax
call fcn.004b3100
add esp, 0xc
mov dword [esp + esi*2 + 0x49a], 0x20
mov di, word [esp + 0xd28]
lea esi, [esp + 0xd28]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x4b], al
test di, di
je 0x48b34d
movzx eax, di
movzx edx, ax
mov ecx, 0x4ecd5c
mov eax, 0x20
cmp dx, ax
je 0x48b35c
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48b330
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x48b323
xor eax, eax
mov word [esp + 0x248], ax
jmp 0x48b52c
lea edx, [esp + 0xd28]
movzx eax, di
nop word [eax + eax]
movzx esi, ax
mov ecx, 0x4ecd5c
mov eax, 0x20
nop dword [eax]
cmp si, ax
je 0x48b39f
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48b380
movzx eax, word [edx + 2]
add edx, 2
test ax, ax
jne 0x48b370
xor edx, edx
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x48b3a2
sub edx, ecx
sar edx, 1
cmp edx, 0x11b
ja 0x48c269
test ebx, ebx
je 0x48b3d0
cmp word [ebx], 0x3a
jne 0x48b3d0
lea edx, [esp + 0xd28]
jmp 0x48b40f
lea edx, [esp + 0xd28]
movzx eax, di
nop word [eax + eax]
movzx esi, ax
mov ecx, 0x4ecd5c
mov eax, 0x20
nop dword [eax]
cmp si, ax
je 0x48b40f
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x48b3f0
movzx eax, word [edx + 2]
add edx, 2
test ax, ax
jne 0x48b3e0
xor edx, edx
lea ecx, [esp + 0x248]
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
test ax, ax
jne 0x48b416
lea eax, [esp + 0x248]
push 0x3a
push eax
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48b474
xor ecx, ecx
mov word [eax], cx
lea ecx, [eax + 2]
call fcn.00410b20
mov ecx, dword [esp + 0x28]
xor ebx, ebx
movzx edx, cl
movzx ecx, byte [esp + 0x4b]
shr edx, 3
cmp edx, dword [esp + 0x4c]
mov byte [esp + 0x1b], al
cmovne ebx, ecx
add bl, al
or edx, 0xffffffff
mov dword [esp + 0x28], ebx
jmp 0x48b512
xor cl, cl
or edx, 0xffffffff
mov byte [esp + 0x1b], cl
mov byte [esp + 0x28], cl
jmp 0x48b512
lea ecx, [esp + 0xd28]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48b490
sub ecx, edx
sar ecx, 1
cmp ecx, 0x125
ja 0x48c269
push 0x125
lea eax, [esp + 0xd2c]
push eax
lea eax, [esp + 0x250]
push eax
call fcn.004b3100
add esp, 0xc
lea eax, [esp + 0x248]
push 0x3a
push eax
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48b50d
xor ecx, ecx
mov word [eax], cx
lea ecx, [eax + 2]
call fcn.00410b20
mov bl, al
xor edx, edx
mov eax, dword [esp + 0x28]
movzx ecx, al
shr ecx, 3
cmp ecx, dword [esp + 0x4c]
movzx eax, al
cmovne edx, eax
mov byte [esp + 0x1b], bl
add dl, bl
mov byte [esp + 0x28], dl
mov edx, 0xffffffff
lea ecx, [esp + 0x248]
call fcn.00420a60
mov edx, eax
lea ecx, [esp + 0x248]
call fcn.00420ad0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
cmp byte [esi + 0x14], 0
je 0x48b553
cmp word [esp + 0x248], 0
jne 0x48b553
test edi, edi
mov eax, 1
cmove edi, eax
mov dword [esp + 0x30], edi
lea eax, [esp + 0x248]
push 0x28
push eax
call fcn.004ace17
add esp, 8
test eax, eax
jne 0x48c333
mov ecx, str._bool
lea eax, [esp + 0x498]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x48b5a6
test dx, dx
je 0x48b5a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x48b5a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x48b580
xor eax, eax
jmp 0x48b5ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x48b5ba
mov esi, 1
mov dword [esp + 0x4c], esi
jmp 0x48b5f4
xor esi, esi
nop dword [eax]
mov ecx, dword [esi*4 + 0x4ee4c0]
lea edx, [esp + 0x498]
call fcn.004921b0
test eax, eax
jne 0x48b5df
inc esi
cmp esi, 8
jl 0x48b5c0
jmp 0x48b5e5
lea eax, [esi + 1]
movzx eax, ax
movsx esi, ax
mov dword [esp + 0x4c], esi
test esi, esi
je 0x48ba77
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x48b655
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x48b611
cmp eax, 4
jge 0x48b611
mov esi, eax
mov dword [esp + 0x38], eax
jmp 0x48b61a
mov esi, 4
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x20]
mov eax, ebx
cdq
idiv esi
test edx, edx
je 0x48b634
mov eax, esi
sub eax, edx
cdq
idiv esi
add ebx, edx
mov dword [esp + 0x20], ebx
mov bl, byte [esp + 0x1b]
cmp esi, dword [esp + 0x2c]
jle 0x48b642
mov dword [esp + 0x2c], esi
xor edx, edx
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x48b6bc
test edi, edi
jne 0x48b6bc
movzx ebx, bl
jmp 0x48b6c6
mov bl, byte [esp + 0x1b]
test bl, bl
je 0x48b665
mov edx, dword [esp + 0x28]
cmp dl, bl
jne 0x48b6b6
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x48b679
cmp esi, eax
jle 0x48b679
mov esi, eax
mov dword [esp + 0x38], eax
jmp 0x48b67d
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x20]
cdq
idiv esi
test edx, edx
je 0x48b693
mov eax, esi
sub eax, edx
cdq
idiv esi
add dword [esp + 0x20], edx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp esi, eax
cmovg eax, esi
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x48b642
movzx ebx, bl
movzx edx, dl
sub edx, ebx
mov dword [esp + 0x3c], edx
jmp 0x48b6c6
mov esi, dword [esp + 0x38]
jmp 0x48b697
xor ebx, ebx
test ecx, ecx
jne 0x48b71a
test edi, edi
jne 0x48b71a
lea edx, [esp + 0x498]
mov ecx, str._TCHAR_LPTSTR_LPCTSTR
call fcn.004921b0
test eax, eax
je 0x48b6e2
mov esi, 0x4b0
jmp 0x48b725
lea edx, [esp + 0x498]
mov ecx, str._LPWSTR_LPCWSTR_WCHAR
call fcn.004921b0
test eax, eax
je 0x48b6fe
mov esi, 0x4b0
jmp 0x48b725
lea edx, [esp + 0x498]
mov ecx, str._CHAR_LPSTR_LPCSTR_UCHAR
call fcn.004921b0
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
jmp 0x48b725
or esi, 0xffffffff
test ecx, ecx
jne 0x48b73f
test edi, edi
jne 0x48b73f
lea edx, [esp + 0x498]
mov ecx, str._PTR_SHORT_INT_INT8_INT16_INT32_INT64_CHAR_ACCESS_MASK_PVOID_VOID_HALF_PTR_BOOL_LONG_LONG32_LONGLONG_LONG64_USN_INT_PTR_LONG_PTR_POINTER_64_POINTER_SIGNED_SIGNED_SSIZE_T_WPARAM___int64
call fcn.004921b0
mov edi, eax
neg edi
sbb edi, edi
inc edi
jmp 0x48b74b
xor edi, edi
test ecx, ecx
jne 0x48b767
cmp dword [esp + 0x30], edx
jne 0x48b767
lea edx, [esp + 0x498]
mov ecx, str._FLOAT_DOUBLE_PFLOAT_PDOUBLE
call fcn.004921b0
mov edx, dword [esp + 0x3c]
neg eax
sbb eax, eax
inc eax
jmp 0x48b769
xor eax, eax
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x48b78d
mov cl, byte [esp + 0x1b]
test cl, cl
je 0x48b789
cmp byte [esp + 0x28], cl
mov ecx, dword [esp + 0x20]
je 0x48b78d
sub ecx, dword [esp + 0x4c]
jmp 0x48b78d
mov ecx, dword [esp + 0x20]
push edx
push ebx
push esi
mov esi, dword [esp + 0x3c]
push edi
mov edi, dword [esp + 0x34]
push eax
push dword [esp + 0x60]
lea eax, [esp + 0x84]
push esi
push ecx
push dword [esp + 0x54]
mov ecx, edi
push eax
lea eax, [esp + 0x270]
push eax
call fcn.0048c7b0
mov ebx, eax
test ebx, ebx
je 0x48c293
mov edx, dword [esp + 0x34]
test esi, esi
jne 0x48b7d5
test edx, edx
je 0x48ba3b
xor ecx, ecx
nop word [eax + eax]
movzx eax, word [esp + ecx + 0x498]
lea ecx, [ecx + 2]
mov word [esp + ecx + 0x8de], ax
test ax, ax
jne 0x48b7e0
mov di, word [esp + 0x248]
test edx, edx
je 0x48b87b
test esi, esi
jne 0x48b812
test di, di
jne 0x48b812
lea eax, [esi + 1]
jmp 0x48b814
xor eax, eax
mov esi, edx
sub esi, eax
je 0x48b877
nop word [eax + eax]
lea ecx, [esp + 0x8e0]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48b830
sub ecx, edx
sar ecx, 1
je 0x48b865
nop dword [eax]
nop word [eax + eax]
mov ax, word [esp + ecx*2 + 0x8e0]
mov word [esp + ecx*2 + 0x8e2], ax
sub ecx, 1
jne 0x48b850
mov eax, 0x2a
mov word [esp + 0x8e2], ax
sub esi, 1
jne 0x48b820
mov esi, dword [esp + 0x30]
test di, di
je 0x48b8d0
test esi, esi
je 0x48b8d0
lea edx, [esp + 0x8e0]
lea ecx, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x48b890
sub edx, ecx
lea ecx, [esp + 0x130]
sar edx, 1
lea eax, [edx + edx]
mov edx, ecx
sub eax, edx
lea edx, [esp + 0x8e0]
add edx, eax
nop word [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x48b8c0
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x8e0]
push 1
lea edx, [esp + 0x74]
mov dword [esp + 0xf4], eax
push edx
mov ecx, dword [edi + 0x1c]
lea edx, [esp + 0xd8]
push 0
push edx
lea edx, [esp + 0xd0]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x1c]
cmp eax, 1
jne 0x48b918
mov eax, dword [esp + 0xc0]
mov dword [ebx + 0x14], eax
jmp 0x48ba37
push 0x28
call fcn.004abcce
add esp, 4
mov dword [esp + 0x3c], eax
mov ecx, eax
call fcn.0048a6f0
mov dword [ebx + 0x14], eax
test eax, eax
je 0x48c2a2
push 2
lea edx, [esp + 0x74]
mov dword [esp + 0x104], eax
mov eax, dword [edi + 0x1c]
push edx
push 1
lea edx, [esp + 0xdc]
mov ecx, dword [eax]
push edx
lea edx, [esp + 0xd0]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp + 0xc0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebx + 0x14]
mov eax, dword [edi + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov ecx, dword [ebx + 0x14]
mov eax, dword [edi + 0x20]
mov dword [ecx + 0x20], eax
cmp word [esp + 0x248], 0
je 0x48b9ac
test esi, esi
je 0x48b9ac
cmp dword [esp + 0x34], 0
mov ecx, 4
jne 0x48b9a7
mov ecx, dword [ebx + 8]
imul ecx, esi
jmp 0x48b9ca
lea eax, [esp + 0x8e0]
push 0x2a
push eax
call fcn.004ace17
add esp, 8
mov ecx, 4
test eax, eax
jne 0x48b9ca
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
mov edx, 5
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x8e0]
mov dword [esp + 0x60], 0
lea ecx, [esp + 0x9c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], 3
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x110], eax
call fcn.0048a870
test eax, eax
je 0x48c293
mov eax, dword [edi + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x14]
mov dword [eax + 0x1c], 0
mov dword [esp + 0x60], 4
mov dword [esp + 0x90], 1
mov edx, dword [esp + 0x34]
mov bl, byte [esp + 0x1b]
test bl, bl
je 0x48ba4d
cmp byte [esp + 0x28], bl
jne 0x48c0e6
mov ecx, dword [esp + 0x4c]
test edx, edx
mov ebx, dword [esp + 0x20]
mov eax, 4
cmovne ecx, eax
test esi, esi
mov eax, 1
cmovne eax, esi
imul ecx, eax
add ebx, ecx
mov dword [esp + 0x20], ebx
jmp 0x48c0ea
lea eax, [esp + 0x498]
mov dword [esp + 0x58], 0
push 0x28
push eax
call fcn.004ace17
add esp, 8
test eax, eax
mov eax, dword [0x4f48cc]
je 0x48bbcf
mov edi, dword [eax + 0xb4]
lea eax, [esp + 0x498]
push 0
push 0x4ecb58
push eax
call fcn.004b8ab2
add esp, 8
dec eax
mov ecx, 0x4f9a70
push eax
lea eax, [esp + 0x4a2]
push eax
call fcn.0042ced0
mov ecx, dword [0x4f48cc]
mov dword [ecx + 0xb4], eax
test eax, eax
je 0x48c2b2
lea esi, [esp + 0x498]
lea ecx, [esi + 2]
nop dword [eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x48baf0
push 0
push 2
push 0
lea eax, [esp + 0x4a4]
sub esi, ecx
push 0x4ecb58
push eax
sar esi, 1
call fcn.004b8ab2
add esp, 8
sub esi, eax
sub esi, 3
lea eax, [esp + 0x4a4]
push esi
push 0x4ecb58
push eax
call fcn.004b8ab2
add esp, 8
lea ecx, [esp + 0x4aa]
lea eax, [ecx + eax*2]
mov ecx, 0x4f9a70
push eax
call fcn.0042ed10
mov dword [esp + 0x58], eax
mov eax, dword [0x4f48cc]
mov dword [eax + 0xb4], edi
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x48bba7
lea ecx, [esp + 0x498]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48bb70
sub ecx, edx
push 0
sar ecx, 1
push 1
push 0
lea eax, [ecx - 2]
mov ecx, 0x4f9a70
push eax
lea eax, [esp + 0x4aa]
push eax
call fcn.0042ed10
mov dword [esp + 0x58], eax
test eax, eax
je 0x48c2e2
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x48bd33
mov ebx, dword [esp + 0x40]
test ebx, ebx
jle 0x48bc42
mov ecx, dword [esp + 0x60]
cmp ecx, 5
ja case.0x48bbc8.1
jmp dword [ecx*4 + 0x48c518]
cmp dword [eax + 0xb4], 0
je 0x48bb59
lea ecx, [esp + 0x498]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48bbe2
sub ecx, edx
push 0
sar ecx, 1
push 2
push 0
lea eax, [ecx - 2]
mov ecx, 0x4f9a70
push eax
lea eax, [esp + 0x4aa]
push eax
call fcn.0042ed10
mov dword [esp + 0x58], eax
jmp 0x48bb5d
push 0
push 1
mov ecx, eax
call fcn.00401530
jmp case.0x48bbc8.0
mov eax, 0x4cd2cc
mov ecx, eax
call fcn.00484f80
movzx eax, al
cmp eax, ebx
jle 0x48bc3e
mov esi, ebx
mov dword [esp + 0x38], ebx
jmp 0x48bc72
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
cmp ecx, 5
ja case.0x48bc4b.1
jmp dword [ecx*4 + 0x48c530]
push 0
push 1
mov ecx, eax
call fcn.00401530
jmp case.0x48bc4b.0
mov eax, 0x4cd2cc
mov ecx, eax
call fcn.00484f80
movzx esi, al
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x2c]
cmp esi, ecx
mov bl, byte [esp + 0x1b]
cmovg ecx, esi
mov dword [esp + 0x2c], ecx
test bl, bl
je 0x48bc8d
cmp byte [esp + 0x28], bl
jne 0x48bcad
mov esi, dword [esp + 0x20]
test esi, esi
je 0x48bcb1
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x48bcb1
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
mov dword [esp + 0x20], esi
jmp 0x48bcb1
mov esi, dword [esp + 0x20]
mov eax, esi
cdq
mov dword [esp + 0xe0], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0xe4], edx
cdq
mov dword [esp + 0x88], eax
lea eax, [esp + 0x9c]
push 4
push eax
lea eax, [esp + 0x80]
mov dword [esp + 0x94], edx
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00485240
add esp, 0x10
cmp dword [esp + 0x80], 1
jne 0x48c2e2
test bl, bl
je 0x48bd10
cmp byte [esp + 0x28], bl
jne 0x48bdb5
mov ecx, dword [esp + 0x2c]
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x48bdb5
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
mov dword [esp + 0x20], esi
jmp 0x48bdb5
push 1
lea eax, [esp + 0xa0]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x80]
movlpd qword [esp + 0xe8], xmm0
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00485240
add esp, 0x10
cmp dword [esp + 0x80], 1
jne 0x48c2e2
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x48bd81
cmp eax, 4
jge 0x48bd81
mov esi, eax
mov dword [esp + 0x38], eax
jmp 0x48bd8a
mov esi, 4
mov dword [esp + 0x38], esi
mov ecx, dword [esp + 0x20]
mov eax, ecx
cdq
idiv esi
test edx, edx
je 0x48bda4
mov eax, esi
sub eax, edx
cdq
idiv esi
add ecx, edx
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
cmp esi, eax
cmovg eax, esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
push 0
push 0
xor eax, eax
mov ecx, esi
mov esi, dword [esp + 0x80]
test edi, edi
push 0xffff
push 0
cmovne ecx, eax
mov eax, esi
push 0
sub eax, ecx
mov ecx, dword [esp + 0x38]
push eax
push dword [esp + 0x48]
lea eax, [esp + 0x88]
push dword [esp + 0x3c]
push edi
push eax
lea eax, [esp + 0x270]
push eax
call fcn.0048c7b0
mov ebx, eax
test ebx, ebx
je 0x48c30c
xor edx, edx
movzx ecx, word [esp + edx + 0x498]
lea edx, [edx + 2]
mov word [esp + edx + 0x8de], cx
test cx, cx
jne 0x48be05
test edi, edi
mov di, word [esp + 0x248]
je 0x48beab
cmp dword [esp + 0x30], 0
jne 0x48be40
test di, di
jne 0x48be40
mov eax, 1
jmp 0x48be42
xor eax, eax
mov esi, dword [esp + 0x34]
sub esi, eax
je 0x48bea7
nop word [eax + eax]
lea ecx, [esp + 0x8e0]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48be60
sub ecx, edx
sar ecx, 1
je 0x48be95
nop dword [eax]
nop word [eax + eax]
mov ax, word [esp + ecx*2 + 0x8e0]
mov word [esp + ecx*2 + 0x8e2], ax
sub ecx, 1
jne 0x48be80
mov eax, 0x2a
mov word [esp + 0x8e2], ax
sub esi, 1
jne 0x48be50
mov esi, dword [esp + 0x78]
test di, di
mov edi, dword [esp + 0x30]
je 0x48bf00
test edi, edi
je 0x48bf00
lea edx, [esp + 0x8e0]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x48bec2
sub edx, ecx
lea ecx, [esp + 0x130]
sar edx, 1
lea eax, [edx + edx]
mov edx, ecx
sub eax, edx
lea edx, [esp + 0x8e0]
add edx, eax
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x48bef0
lea eax, [esp + 0x8e0]
mov dword [esp + 0xf0], eax
lea edx, [esp + 0x70]
mov eax, dword [esp + 0x24]
push 1
push edx
push 0
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0xdc]
push edx
lea edx, [esp + 0xd0]
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x1c]
cmp eax, 1
jne 0x48bf48
mov eax, dword [esp + 0xc0]
mov dword [ebx + 0x14], eax
jmp 0x48c096
push 0x28
call fcn.004abcce
add esp, 4
mov dword [esp + 0x3c], eax
mov ecx, eax
call fcn.0048a6f0
mov dword [ebx + 0x14], eax
test eax, eax
je 0x48c31f
mov dword [esp + 0x100], eax
lea edx, [esp + 0x70]
mov eax, dword [esp + 0x24]
push 2
push edx
push 1
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0xdc]
push edx
lea edx, [esp + 0xd0]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + 0x14]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 4]
mov eax, dword [esp + 0x24]
mov ecx, dword [ebx + 0x14]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x20], eax
cmp word [esp + 0x248], 0
je 0x48bfdb
test edi, edi
je 0x48bfdb
cmp dword [esp + 0x34], 0
mov ecx, 4
jne 0x48bfd6
mov ecx, dword [ebx + 8]
imul ecx, edi
jmp 0x48bff9
lea eax, [esp + 0x8e0]
push 0x2a
push eax
call fcn.004ace17
add esp, 8
mov ecx, 4
test eax, eax
jne 0x48bff9
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
push 0x2a
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x8e4]
push eax
call fcn.004ace17
add esp, 8
test eax, eax
jne 0x48c02b
lea eax, [esp + 0x8e0]
push 0x5b
push eax
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48c03e
lea eax, [esp + 0x8e0]
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], 3
lea ecx, [esp + 0x9c]
mov eax, dword [ebx + 0x14]
mov edx, 5
mov dword [esp + 0x110], eax
call fcn.0048a870
test eax, eax
je 0x48c30c
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebx + 0x14]
mov dword [eax + 0x1c], 0
mov dword [esp + 0x60], 4
mov dword [esp + 0x90], 1
cmp dword [esp + 0x34], 0
je 0x48c0b4
mov ebx, dword [esp + 0x20]
test edi, edi
mov eax, 1
cmovne eax, edi
lea ebx, [ebx + eax*4]
mov dword [esp + 0x20], ebx
jmp 0x48c0ea
mov bl, byte [esp + 0x1b]
test bl, bl
je 0x48c0c2
cmp byte [esp + 0x28], bl
jne 0x48c0e6
test edi, edi
je 0x48c0db
mov ecx, esi
lea eax, [edi - 1]
sub ecx, dword [esp + 0x20]
imul ecx, eax
lea ebx, [ecx + esi]
mov dword [esp + 0x20], ebx
jmp 0x48c0ea
xor ecx, ecx
lea ebx, [ecx + esi]
mov dword [esp + 0x20], ebx
jmp 0x48c0ea
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
test edi, edi
je 0x48c126
mov ecx, dword [esp + edi*4 + 0x1e0]
mov eax, ebx
sub eax, ecx
cmp eax, dword [esp + edi*4 + 0x160]
jle 0x48c10d
mov dword [esp + edi*4 + 0x160], eax
cmp byte [esp + edi + 0x120], 0
jne 0x48c126
mov dword [esp + 0x20], ecx
xor cl, cl
mov byte [esp + 0x28], 0
mov byte [esp + 0x1b], cl
mov esi, dword [esp + 0x1c]
push 0x7d
push esi
call fcn.004ace17
add esp, 8
test eax, eax
je 0x48c17f
mov edx, 0x4eca74
mov ecx, esi
call fcn.0040bad0
test eax, eax
je 0x48c16c
push 0x7d
push esi
call fcn.004ace17
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, 0x4eca74
mov esi, eax
call fcn.0040bad0
cmp esi, eax
mov esi, dword [esp + 0x1c]
jae 0x48c17f
push 0x4ce3a8
push esi
call fcn.004b8ab2
add esp, 8
lea esi, [esi + eax*2]
jmp 0x48c1c2
mov edx, 0x4eca74
mov ecx, esi
call fcn.0040bad0
test eax, eax
je 0x48c1a5
push 0x4eca74
push esi
call fcn.004b8ab2
add esp, 8
lea esi, [esi + eax*2]
add esi, 2
jmp 0x48c1c2
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48c1b0
sub ecx, edx
sar ecx, 1
lea esi, [esi + ecx*2]
mov dword [esp + 0x1c], esi
cmp word [esi], 0
jne 0x48ac90
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x48c1f2
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x48c1f2
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add edi, edx
test edi, edi
jne 0x48c383
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x48c212.1
jmp dword [ecx*4 + 0x48c548]
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push dword [esp + 0x1c]
mov ecx, 0x4f9a70
push str.Invalid_structure_definition.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0xd28]
mov ecx, 0x4f9a70
push eax
push 0x4ecb00
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0xd28]
mov ecx, 0x4f9a70
push eax
push str.Invalid_structure_definition.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
push edi
call dword [eax + 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 0x4cd2cc
jmp 0x48c4cd
mov dword [ecx + 0xb4], edi
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x498]
mov ecx, 0x4f9a70
push eax
push str.Variable_was_not_found_in_function.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x498]
mov ecx, 0x4f9a70
push eax
push str.Invalid_structure_definition.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x4cd2cc
jmp 0x48c4cd
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea eax, [esp + 0x248]
mov ecx, 0x4f9a70
push eax
push str.Invalid_structure_definition.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push esi
push str.Invalid_structure_definition.
mov ecx, 0x4f9a70
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax]
jmp 0x48aad8
cmp dword [ebx + 0x18], edi
je 0x48c400
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x48c39c.1
jmp dword [ecx*4 + 0x48c560]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401530
push eax
push str.Invalid_structure_Length.
mov ecx, 0x4f9a70
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax]
mov ecx, 0x4f9a70
push eax
push str.Invalid_structure_Length.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4cd2cc
mov ecx, 0x4f9a70
push eax
push str.Invalid_structure_Length.
call fcn.0043bff0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x14], 0
je 0x48c44f
mov eax, dword [ebx + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebx + 0xc], 1
jg 0x48c47e
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
cmp word [eax], 0
jne 0x48c47e
mov dword [ebx + 0x1c], 0
cmp dword [esp + 0x68], 2
jle 0x48c44f
mov esi, dword [esp + 0x54]
mov ecx, dword [esi + 8]
call fcn.00461ce0
test eax, eax
je 0x48c44f
mov ecx, dword [esi + 8]
call fcn.00461ce0
push eax
mov ecx, ebx
call fcn.0048c8e0
cmp dword [ebx + 0xc], 1
jne 0x48c475
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0x18], 0
je 0x48c475
cmp word [ecx + 4], 0
jne 0x48c475
cmp dword [ecx + 0x10], 0
jne 0x48c475
cmp dword [ecx + 0x14], 0
jne 0x48c475
mov byte [ebx + 0x15], 1
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
mov ecx, ebx
call fcn.0048c590
mov dword [ebx + 0x1c], eax
test eax, eax
jne 0x48c428
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x48c4af.1
jmp dword [ecx*4 + 0x48c578]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401530
jmp 0x48c4cc
mov eax, dword [eax]
jmp 0x48c4cc
mov eax, 0x4cd2cc
push eax
push str.Out_of_memory.
mov ecx, 0x4f9a70
call fcn.0043bff0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret