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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x8d34
call fcn.004b8370
push ebx
push esi
push edi
xor edi, edi
mov dword [esp + 0x50], ecx
push 0x40
lea eax, [esp + 0x1f4]
mov dword [esp + 0x18], edi
mov ebx, edx
push edi
push eax
mov dword [esp + 0x78], ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x170]
push 0x40
push edi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x1b0]
xorps xmm0, xmm0
movaps xmmword [esp + 0x130], xmm0
push 0x40
push edi
push eax
call sub.VCRUNTIME140.dll_memset
movq xmm0, qword [str._UInt]
lea eax, [esp + 0x64]
mov dword [esp + 0xb8], eax
add esp, 0xc
lea eax, [esp + 0xf0]
mov dword [esp + 0x48], edi
mov dword [esp + 0xb0], eax
xor esi, esi
lea eax, [esp + 0x98]
mov dword [esp + 0x44], edi
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x120]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x100]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x110]
mov dword [esp + 0x7c], eax
mov eax, dword [0x4dc24c]
mov dword [esp + 0x4b0], eax
mov ax, word [0x4dc250]
push 0x436
mov word [esp + 0x4b8], ax
lea eax, [esp + 0x4ba]
push esi
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x6c], 4
mov dword [esp + 0x104], 1
mov dword [esp + 0xac], 1
mov dword [esp + 0xd4], 1
mov dword [esp + 0x134], 6
movq qword [esp + 0x4b4], xmm0
call sub.VCRUNTIME140.dll_memset
xor cl, cl
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x5c]
add esp, 0xc
mov byte [esp + 0xf], cl
mov byte [esp + 0x1c], cl
cmp ebx, 4
jle 0x495fd3
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
mov dword [esp + 0x18], ebx
jmp 0x496112
mov ecx, dword [esi]
call fcn.0046e480
test eax, eax
je 0x495ffb
push 0x4bac30
push str.Invalid_structure_definition.
mov ecx, 0x4e8b78
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x28
call fcn.004b7459
add esp, 4
mov dword [esp + 0x70], eax
mov ecx, eax
call fcn.00495ce0
push 0
push 0
mov ebx, eax
push 0
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_HeapCreate]
mov dword [ebx + 0x20], eax
mov byte [ebx + 0x14], 1
test eax, eax
je 0x497a67
push 1
push esi
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004908a0
add esp, 0x10
cmp dword [esp + 0x88], 1
je 0x4960a6
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x49793d.1
jmp dword [ecx*4 + 0x497ab0]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401640
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4e8b78
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4bac30
push eax
push str.Invalid_structure_definition.
mov ecx, 0x4e8b78
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x20
call fcn.004b7459
add esp, 4
mov dword [esp + 0x70], eax
cmp dword [esp + 0x6c], 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 + 0x80]
mov dword [ebx + 0x18], eax
jle 0x496101
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.0046e170
or eax, edx
je 0x496101
mov ecx, dword [esi + 4]
xor edx, edx
call fcn.0046e170
jmp 0x49610f
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 + 0x108], edi
mov dword [esp + 0x118], 6
mov dword [esp + 0xe8], 6
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0xe0], eax
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x496143.1
jmp dword [ecx*4 + 0x497ac8]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401640
mov esi, eax
mov dword [esp + 0x10], eax
jmp 0x49616a
mov esi, dword [eax]
jmp 0x496166
mov esi, 0x4bac30
mov dword [esp + 0x10], esi
mov ecx, esi
call fcn.00404c80
test al, al
je 0x496185
push 0x10
push 0
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
add esp, 0xc
jmp 0x49618f
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
add esp, 4
lea edx, [esp + 0x230]
mov dword [esp + 0x34], eax
mov ecx, eax
call fcn.00413420
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4961a4
sub eax, edx
sar eax, 1
cmp word [esi + eax*2], 0x3a
jne 0x4961fe
cmp dword [esp + 0x34], edi
jle 0x4961fe
lea ecx, [esp + 0x230]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4961d0
mov eax, dword [esp + 0x34]
sub ecx, edx
sar ecx, 1
cdq
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
lea esi, [esi + ecx*2]
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x496238
cmp dword [esp + 0x6c], 5
jne 0x496228
mov eax, dword [esp + 0x50]
xor edx, edx
mov ecx, dword [eax + 0xc]
call fcn.0046e170
mov dword [esp + 0x34], eax
cdq
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
jmp 0x496238
xorps xmm0, xmm0
mov dword [esp + 0x34], edi
movlpd qword [esp + 0xc0], xmm0
cmp word [esi], di
je 0x497907
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscspn]
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
mov dword [esp + 0x4c], eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
mov dword [esp + 0x54], eax
mov eax, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
mov dword [esp + 0x94], eax
mov eax, dword [sym.imp.VCRUNTIME140.dll_wcschr]
mov dword [esp + 0x30], eax
mov eax, dword [sym.imp.VCRUNTIME140.dll_wcsstr]
mov dword [esp + 0x70], edx
mov dword [esp + 0x90], eax
nop
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ebx, eax
push 2
push 0x4dc254
push esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], ecx
call edx
add esp, 0xc
test eax, eax
jne 0x496320
mov eax, dword [esp + 0x10]
movzx edi, word [eax]
test di, di
je 0x4962f1
mov eax, edi
nop word [eax + eax]
movzx edx, ax
mov ecx, 0x4db394
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x496371
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4962d0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4962c0
mov esi, dword [esp + 0x10]
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x496300
sub ecx, edx
sar ecx, 1
lea esi, [esi + ecx*2]
mov dword [esp + 0x10], esi
cmp word [esi], 0
je 0x4978ff
mov eax, dword [esp + 0x10]
mov edi, esi
movzx eax, word [eax]
test ax, ax
je 0x49635d
nop
movzx edx, ax
mov ecx, str._n_r_t
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x49635f
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x496340
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x496330
xor esi, esi
cmp dword [esp + 0x10], esi
mov esi, dword [esp + 0x10]
jne 0x4963b8
add esi, 2
jmp 0x497785
mov esi, dword [esp + 0x10]
mov eax, edi
mov dword [esp + 0x10], esi
nop dword [eax + eax]
movzx edx, ax
mov ecx, 0x4db394
mov eax, 0xa
nop dword [eax]
cmp dx, ax
je 0x496316
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x496390
movzx eax, word [esi + 2]
add esi, 2
mov dword [esp + 0x10], esi
test ax, ax
jne 0x496380
xor esi, esi
jmp 0x496312
push 0x7b
push esi
call dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x4964f5
mov edx, 0x4dc234
mov ecx, esi
call fcn.004065e0
test eax, eax
je 0x496400
push 0x7b
push esi
call dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, 0x4dc234
mov esi, eax
call fcn.004065e0
cmp esi, eax
mov esi, dword [esp + 0x10]
jae 0x4964f5
inc dword [esp + 0x44]
xor eax, eax
mov edi, dword [esp + 0x90]
test ebx, ebx
push str.struct
cmovne eax, dword [esp + 0x3c]
push esi
mov dword [esp + 0x50], eax
call edi
add esp, 8
test eax, eax
je 0x496447
push str.struct
push esi
call edi
mov edi, dword [esp + 0x18]
mov esi, eax
push 0x7b
push edi
call dword [esp + 0x40]
add esp, 0x10
cmp esi, eax
jae 0x49644b
mov al, 1
jmp 0x49644d
mov edi, dword [esp + 0x10]
xor al, al
mov byte [esp + ebx + 0x131], al
mov ebx, dword [esp + 0x34]
test ebx, ebx
jle 0x496472
mov ecx, edi
call fcn.004905d0
movzx eax, al
cmp eax, ebx
jle 0x496472
mov esi, ebx
mov dword [esp + 0x2c], ebx
jmp 0x496480
mov ecx, edi
call fcn.004905d0
movzx esi, al
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x14]
mov eax, ecx
cdq
idiv esi
test edx, edx
je 0x49649a
mov eax, esi
sub eax, edx
cdq
idiv esi
add ecx, edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
cmp eax, esi
jle 0x4964b2
test ebx, ebx
jle 0x4964ac
mov esi, ebx
cmp eax, ebx
jg 0x4964ae
mov esi, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x28]
xor bl, bl
push 0x7b
push edi
mov edi, dword [esp + 0x38]
mov dword [esp + eax*4 + 0x1bc], esi
mov dword [esp + 0x28], 0
mov dword [esp + eax*4 + 0x1fc], ecx
mov dword [esp + eax*4 + 0x17c], 0
mov byte [esp + 0x17], bl
mov byte [esp + 0x24], bl
call edi
add esp, 8
lea esi, [eax + 2]
jmp 0x497785
cmp word [esi], 0x7d
jne 0x4965c5
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x14]
mov eax, ebx
mov ecx, dword [esp + edx*4 + 0x1f0]
sub eax, ecx
mov esi, dword [esp + edx*4 + 0x170]
cmp eax, esi
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x10]
jle 0x496530
mov dword [esp + 0x48], eax
mov dword [esp + edx*4 + 0x170], eax
cmp edx, 1
jle 0x49655a
cmp byte [esp + edx + 0x12f], 0
je 0x49655a
mov ecx, dword [esp + edx*4 + 0x1b0]
mov eax, ebx
cdq
idiv ecx
test edx, edx
je 0x49655c
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add ebx, edx
jmp 0x49655c
mov ebx, ecx
mov eax, dword [esp + 0x20]
mov edx, ebx
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + ebx*4 + 0x1b0]
cmp ecx, eax
cmovg eax, ecx
mov ecx, dword [esp + 0x48]
cmp ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
cmovle ecx, dword [esp + 0x24]
sub ebx, 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ecx
lea ebx, [edx + ecx]
cmovne ebx, edx
xor cl, cl
add esi, 2
mov byte [esp + 0xf], cl
mov byte [esp + 0x1c], cl
mov edx, 0x4dc234
mov ecx, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
call fcn.004065e0
cmp esi, eax
jne 0x497789
lea esi, [edi + 4]
jmp 0x497785
mov edx, 0x4dc278
mov dword [esp + 0x28], 0
mov ecx, esi
mov dword [esp + 0x24], 0
call fcn.004065e0
test eax, eax
je 0x496623
mov edi, dword [esp + 0x4c]
push 0x4dc278
push esi
call edi
mov esi, eax
add esp, 8
cmp esi, 0x4000
ja 0x49779c
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0xd38]
push esi
push ebx
push eax
call dword [esp + 0x60]
add esp, 0xc
xor eax, eax
mov word [esp + esi*2 + 0xd38], ax
jmp 0x496678
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x496630
sub ecx, edx
sar ecx, 1
cmp ecx, 0x4000
ja 0x4978dc
lea edx, [esp + 0xd38]
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 0x496660
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x4c]
or edx, 0xffffffff
lea ecx, [esp + 0xd38]
call fcn.004283e0
mov esi, dword [esp + 0x30]
lea eax, [esp + 0xd38]
push 0x2a
push eax
call esi
add esp, 8
test eax, eax
je 0x4966dd
lea eax, [esp + 0xd38]
push 0x3a
push eax
call esi
add esp, 8
test eax, eax
jne 0x4977c2
push eax
push eax
push 0x4001
push 0xffffffffffffffff
push 1
push 0x4bac30
mov edx, 0x4d3f9c
lea ecx, [esp + 0xd50]
call fcn.0049dd60
add esp, 0x18
mov dword [esp + 0x28], eax
lea eax, [esp + 0xd38]
push 0x5b
push eax
call esi
add esp, 8
test eax, eax
je 0x496789
push 0x14
lea eax, [esp + 0xd3c]
push 0x5b
push eax
call esi
add esp, 8
push eax
lea eax, [esp + 0x148]
push eax
call dword [esp + 0x60]
add esp, 0xc
lea eax, [esp + 0x140]
push 0x4dc2bc
push eax
call edi
xor ecx, ecx
mov word [esp + eax*2 + 0x14a], cx
lea ecx, [esp + 0x14a]
call fcn.00404ce0
push 0
push 0
push 0x4001
push 1
push 1
push 0x4bac30
lea edx, [esp + 0x160]
mov dword [esp + 0x44], eax
lea ecx, [esp + 0xd58]
call fcn.0049dd60
lea eax, [esp + 0xd58]
push 0x5b
push eax
call esi
add esp, 0x28
test eax, eax
jne 0x4977ec
or edx, 0xffffffff
lea ecx, [esp + 0xd38]
call fcn.004283e0
mov di, word [esp + 0xd38]
lea esi, [esp + 0xd38]
test di, di
je 0x49680d
movzx eax, di
movzx edx, ax
mov ecx, 0x4d1604
mov eax, 0x20
nop dword [eax]
cmp dx, ax
je 0x49682b
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4967b0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4967a0
lea esi, [esp + 0xd38]
movzx eax, di
nop word [eax + eax]
movzx edx, ax
mov ecx, 0x4dc278
mov eax, 0x7d
nop dword [eax]
cmp dx, ax
je 0x49682b
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4967f0
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4967e0
mov edx, 0x4dc278
mov ecx, ebx
call fcn.004065e0
test eax, eax
jne 0x496a65
cmp dword [esp + 0x14], eax
jne 0x496a65
lea eax, [esp + 0xd38]
push 0x4d4948
push eax
call dword [esp + 0x54]
mov esi, eax
add esp, 8
cmp esi, 0x218
ja 0x4977ec
lea ecx, [esp + 0xd38]
movzx edx, word [ecx]
cmp edx, 0x20
je 0x496861
cmp edx, 9
jne 0x496866
add ecx, 2
jmp 0x496854
mov edx, 0x4d1604
call fcn.004065e0
mov ebx, eax
test ebx, ebx
je 0x49687c
cmp word [ebx], 0x3a
je 0x4968e4
lea ecx, [esp + 0x4a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x496886
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 2]
push eax
lea eax, [esp + 0xd3c]
push eax
lea eax, [esp + 0x4b2]
push eax
call dword [esp + 0xa0]
add esp, 0xc
test eax, eax
je 0x4968c1
xor cl, cl
mov byte [esp + 0xf], cl
mov byte [esp + 0x1c], cl
push esi
lea eax, [esp + 0xd3c]
push eax
lea eax, [esp + 0x4b2]
push eax
call dword [esp + 0x60]
add esp, 0xc
mov dword [esp + esi*2 + 0x4aa], 0x20
mov di, word [esp + 0xd38]
lea esi, [esp + 0xd38]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x3f], al
test di, di
je 0x49692d
movzx eax, di
movzx edx, ax
mov ecx, 0x4dc51c
mov eax, 0x20
cmp dx, ax
je 0x49693c
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x496910
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x496903
xor eax, eax
mov word [esp + 0x258], ax
jmp 0x496b0a
lea edx, [esp + 0xd38]
movzx eax, di
nop word [eax + eax]
movzx esi, ax
mov ecx, 0x4dc51c
mov eax, 0x20
nop dword [eax]
cmp si, ax
je 0x49697f
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x496960
movzx eax, word [edx + 2]
add edx, 2
test ax, ax
jne 0x496950
xor edx, edx
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x496982
sub edx, ecx
sar edx, 1
cmp edx, 0x11b
ja 0x4977ec
test ebx, ebx
je 0x4969b0
cmp word [ebx], 0x3a
jne 0x4969b0
lea edx, [esp + 0xd38]
jmp 0x4969ef
lea edx, [esp + 0xd38]
movzx eax, di
nop word [eax + eax]
movzx esi, ax
mov ecx, 0x4dc51c
mov eax, 0x20
nop dword [eax]
cmp si, ax
je 0x4969ef
movzx eax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4969d0
movzx eax, word [edx + 2]
add edx, 2
test ax, ax
jne 0x4969c0
xor edx, edx
lea ecx, [esp + 0x258]
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [ecx], ax
add ecx, 2
test ax, ax
jne 0x4969f6
lea eax, [esp + 0x258]
push 0x3a
push eax
call dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x496a53
xor ecx, ecx
mov word [eax], cx
lea ecx, [eax + 2]
call fcn.00418450
mov ecx, dword [esp + 0x1c]
xor ebx, ebx
movzx edx, cl
movzx ecx, byte [esp + 0x3f]
shr edx, 3
cmp edx, dword [esp + 0x40]
mov byte [esp + 0xf], al
cmovne ebx, ecx
add bl, al
or edx, 0xffffffff
mov dword [esp + 0x1c], ebx
jmp 0x496af0
xor cl, cl
or edx, 0xffffffff
mov byte [esp + 0xf], cl
mov byte [esp + 0x1c], cl
jmp 0x496af0
lea ecx, [esp + 0xd38]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x496a70
sub ecx, edx
sar ecx, 1
cmp ecx, 0x125
ja 0x4977ec
push 0x125
lea eax, [esp + 0xd3c]
push eax
lea eax, [esp + 0x260]
push eax
call dword [esp + 0x60]
add esp, 0xc
lea eax, [esp + 0x258]
push 0x3a
push eax
call dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x496aeb
xor ecx, ecx
mov word [eax], cx
lea ecx, [eax + 2]
call fcn.00418450
mov bl, al
xor edx, edx
mov eax, dword [esp + 0x1c]
movzx ecx, al
shr ecx, 3
cmp ecx, dword [esp + 0x40]
movzx eax, al
cmovne edx, eax
mov byte [esp + 0xf], bl
add dl, bl
mov byte [esp + 0x1c], dl
mov edx, 0xffffffff
lea ecx, [esp + 0x258]
call fcn.00428370
mov edx, eax
lea ecx, [esp + 0x258]
call fcn.004283e0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
cmp byte [esi + 0x14], 0
je 0x496b31
cmp word [esp + 0x258], 0
jne 0x496b31
test edi, edi
mov eax, 1
cmove edi, eax
mov dword [esp + 0x24], edi
mov ebx, dword [esp + 0x30]
lea eax, [esp + 0x258]
push 0x28
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4978b6
mov ecx, str._bool
lea eax, [esp + 0x4a8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x496b7e
test dx, dx
je 0x496b7a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x496b7e
add eax, 4
add ecx, 4
test dx, dx
jne 0x496b58
xor eax, eax
jmp 0x496b83
sbb eax, eax
or eax, 1
test eax, eax
jne 0x496b92
mov esi, 1
mov dword [esp + 0x40], esi
jmp 0x496bd4
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [esi*4 + 0x4dc9d4]
lea edx, [esp + 0x4a8]
call fcn.0049d970
test eax, eax
jne 0x496bbf
inc esi
cmp esi, 8
jl 0x496ba0
jmp 0x496bc5
lea eax, [esi + 1]
movzx eax, ax
movsx esi, ax
mov dword [esp + 0x40], esi
test esi, esi
je 0x497056
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x496c35
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x496bf1
cmp eax, 4
jge 0x496bf1
mov esi, eax
mov dword [esp + 0x2c], eax
jmp 0x496bfa
mov esi, 4
mov dword [esp + 0x2c], esi
mov ebx, dword [esp + 0x14]
mov eax, ebx
cdq
idiv esi
test edx, edx
je 0x496c14
mov eax, esi
sub eax, edx
cdq
idiv esi
add ebx, edx
mov dword [esp + 0x14], ebx
mov bl, byte [esp + 0xf]
cmp esi, dword [esp + 0x20]
jle 0x496c22
mov dword [esp + 0x20], esi
xor edx, edx
mov dword [esp + 0x38], edx
test ecx, ecx
jne 0x496c9c
test edi, edi
jne 0x496c9c
movzx ebx, bl
jmp 0x496ca6
mov bl, byte [esp + 0xf]
test bl, bl
je 0x496c45
mov edx, dword [esp + 0x1c]
cmp dl, bl
jne 0x496c96
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x496c59
cmp esi, eax
jle 0x496c59
mov esi, eax
mov dword [esp + 0x2c], eax
jmp 0x496c5d
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x14]
cdq
idiv esi
test edx, edx
je 0x496c73
mov eax, esi
sub eax, edx
cdq
idiv esi
add dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
cmp esi, eax
cmovg eax, esi
mov dword [esp + 0x20], eax
test edi, edi
jne 0x496c22
movzx ebx, bl
movzx edx, dl
sub edx, ebx
mov dword [esp + 0x38], edx
jmp 0x496ca6
mov esi, dword [esp + 0x2c]
jmp 0x496c77
xor ebx, ebx
test ecx, ecx
jne 0x496cfa
test edi, edi
jne 0x496cfa
lea edx, [esp + 0x4a8]
mov ecx, str._TCHAR_LPTSTR_LPCTSTR
call fcn.0049d970
test eax, eax
je 0x496cc2
mov esi, 0x4b0
jmp 0x496d05
lea edx, [esp + 0x4a8]
mov ecx, str._LPWSTR_LPCWSTR_WCHAR
call fcn.0049d970
test eax, eax
je 0x496cde
mov esi, 0x4b0
jmp 0x496d05
lea edx, [esp + 0x4a8]
mov ecx, str._CHAR_LPSTR_LPCSTR_UCHAR
call fcn.0049d970
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
jmp 0x496d05
or esi, 0xffffffff
test ecx, ecx
jne 0x496d1f
test edi, edi
jne 0x496d1f
lea edx, [esp + 0x4a8]
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.0049d970
mov edi, eax
neg edi
sbb edi, edi
inc edi
jmp 0x496d2b
xor edi, edi
test ecx, ecx
jne 0x496d47
cmp dword [esp + 0x24], edx
jne 0x496d47
lea edx, [esp + 0x4a8]
mov ecx, str._FLOAT_DOUBLE_PFLOAT_PDOUBLE
call fcn.0049d970
mov edx, dword [esp + 0x38]
neg eax
sbb eax, eax
inc eax
jmp 0x496d49
xor eax, eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x496d6d
mov cl, byte [esp + 0xf]
test cl, cl
je 0x496d69
cmp byte [esp + 0x1c], cl
mov ecx, dword [esp + 0x14]
je 0x496d6d
sub ecx, dword [esp + 0x40]
jmp 0x496d6d
mov ecx, dword [esp + 0x14]
push edx
push ebx
push esi
mov esi, dword [esp + 0x30]
push edi
mov edi, dword [esp + 0x28]
push eax
push dword [esp + 0x54]
lea eax, [esp + 0x8c]
push esi
push ecx
push dword [esp + 0x48]
mov ecx, edi
push eax
lea eax, [esp + 0x280]
push eax
call fcn.00497d80
mov ebx, eax
test ebx, ebx
je 0x497816
mov edx, dword [esp + 0x28]
test esi, esi
jne 0x496db5
test edx, edx
je 0x49701a
xor ecx, ecx
nop word [eax + eax]
movzx eax, word [esp + ecx + 0x4a8]
lea ecx, [ecx + 2]
mov word [esp + ecx + 0x8ee], ax
test ax, ax
jne 0x496dc0
mov di, word [esp + 0x258]
test edx, edx
je 0x496e5b
test esi, esi
jne 0x496df2
test di, di
jne 0x496df2
lea eax, [esi + 1]
jmp 0x496df4
xor eax, eax
mov esi, edx
sub esi, eax
je 0x496e57
nop word [eax + eax]
lea ecx, [esp + 0x8f0]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x496e10
sub ecx, edx
sar ecx, 1
je 0x496e45
nop dword [eax]
nop word [eax + eax]
mov ax, word [esp + ecx*2 + 0x8f0]
mov word [esp + ecx*2 + 0x8f2], ax
sub ecx, 1
jne 0x496e30
mov eax, 0x2a
mov word [esp + 0x8f2], ax
sub esi, 1
jne 0x496e00
mov esi, dword [esp + 0x24]
test di, di
je 0x496eb0
test esi, esi
je 0x496eb0
lea edx, [esp + 0x8f0]
lea ecx, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x496e70
sub edx, ecx
lea ecx, [esp + 0x140]
sar edx, 1
lea eax, [edx + edx]
mov edx, ecx
sub eax, edx
lea edx, [esp + 0x8f0]
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 0x496ea0
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x8f0]
push 1
lea edx, [esp + 0x7c]
mov dword [esp + 0x104], eax
push edx
mov ecx, dword [edi + 0x1c]
lea edx, [esp + 0xe8]
push 0
push edx
lea edx, [esp + 0xe0]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x1c]
cmp eax, 1
jne 0x496ef8
mov eax, dword [esp + 0xd0]
mov dword [ebx + 0x14], eax
jmp 0x497016
push 0x28
call fcn.004b7459
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, eax
call fcn.00495ce0
mov dword [ebx + 0x14], eax
test eax, eax
je 0x497825
push 2
lea edx, [esp + 0x7c]
mov dword [esp + 0x114], eax
mov eax, dword [edi + 0x1c]
push edx
push 1
lea edx, [esp + 0xec]
mov ecx, dword [eax]
push edx
lea edx, [esp + 0xe0]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp + 0xd0]
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 + 0x258], 0
je 0x496f8c
test esi, esi
je 0x496f8c
cmp dword [esp + 0x28], 0
mov ecx, 4
jne 0x496f87
mov ecx, dword [ebx + 8]
imul ecx, esi
jmp 0x496fa9
lea eax, [esp + 0x8f0]
push 0x2a
push eax
call dword [esp + 0x38]
add esp, 8
mov ecx, 4
test eax, eax
jne 0x496fa9
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
mov edx, 5
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x8f0]
mov dword [esp + 0x60], 0
lea ecx, [esp + 0xac]
mov dword [esp + 0x58], eax
mov dword [esp + 0xa0], 3
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x120], eax
call fcn.00495e60
test eax, eax
je 0x497816
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 + 0xa0], 1
mov edx, dword [esp + 0x28]
mov bl, byte [esp + 0xf]
test bl, bl
je 0x49702c
cmp byte [esp + 0x1c], bl
jne 0x4976b3
mov ecx, dword [esp + 0x40]
test edx, edx
mov ebx, dword [esp + 0x14]
mov eax, 4
cmovne ecx, eax
test esi, esi
mov eax, 1
cmovne eax, esi
imul ecx, eax
add ebx, ecx
mov dword [esp + 0x14], ebx
jmp 0x4976b7
lea eax, [esp + 0x4a8]
mov dword [esp + 0x58], 0
push 0x28
push eax
call ebx
add esp, 8
test eax, eax
mov eax, dword [0x4e40f4]
je 0x4971a4
mov edi, dword [eax + 0xb4]
lea eax, [esp + 0x4a8]
mov ebx, dword [esp + 0x4c]
push 0
push 0x4dc318
push eax
call ebx
add esp, 8
dec eax
mov ecx, 0x4e8b78
push eax
lea eax, [esp + 0x4b2]
push eax
call fcn.00439c90
mov ecx, dword [0x4e40f4]
mov dword [ecx + 0xb4], eax
test eax, eax
je 0x497835
lea esi, [esp + 0x4a8]
lea ecx, [esi + 2]
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4970d0
push 0
push 2
push 0
lea eax, [esp + 0x4b4]
sub esi, ecx
push 0x4dc318
push eax
sar esi, 1
call ebx
add esp, 8
sub esi, eax
sub esi, 3
lea eax, [esp + 0x4b4]
push esi
push 0x4dc318
push eax
call ebx
add esp, 8
lea ecx, [esp + 0x4ba]
lea eax, [ecx + eax*2]
mov ecx, 0x4e8b78
push eax
call fcn.0043b900
mov dword [esp + 0x58], eax
mov eax, dword [0x4e40f4]
mov dword [eax + 0xb4], edi
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x49717c
lea ecx, [esp + 0x4a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x497145
sub ecx, edx
push 0
sar ecx, 1
push 1
push 0
lea eax, [ecx - 2]
mov ecx, 0x4e8b78
push eax
lea eax, [esp + 0x4ba]
push eax
call fcn.0043b900
mov dword [esp + 0x58], eax
test eax, eax
je 0x497865
mov edi, dword [esp + 0x28]
test edi, edi
jne 0x497308
mov ebx, dword [esp + 0x34]
test ebx, ebx
jle 0x497217
mov ecx, dword [esp + 0x60]
cmp ecx, 5
ja case.0x49719d.1
jmp dword [ecx*4 + 0x497ae0]
cmp dword [eax + 0xb4], 0
je 0x497133
lea ecx, [esp + 0x4a8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4971b7
sub ecx, edx
push 0
sar ecx, 1
push 2
push 0
lea eax, [ecx - 2]
mov ecx, 0x4e8b78
push eax
lea eax, [esp + 0x4ba]
push eax
call fcn.0043b900
mov dword [esp + 0x58], eax
jmp 0x497137
push 0
push 1
mov ecx, eax
call fcn.00401640
jmp case.0x49719d.0
mov eax, 0x4bac30
mov ecx, eax
call fcn.004905d0
movzx eax, al
cmp eax, ebx
jle 0x497213
mov esi, ebx
mov dword [esp + 0x2c], ebx
jmp 0x497247
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
cmp ecx, 5
ja case.0x497220.1
jmp dword [ecx*4 + 0x497af8]
push 0
push 1
mov ecx, eax
call fcn.00401640
jmp case.0x497220.0
mov eax, 0x4bac30
mov ecx, eax
call fcn.004905d0
movzx esi, al
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x20]
cmp esi, ecx
mov bl, byte [esp + 0xf]
cmovg ecx, esi
mov dword [esp + 0x20], ecx
test bl, bl
je 0x497262
cmp byte [esp + 0x1c], bl
jne 0x497282
mov esi, dword [esp + 0x14]
test esi, esi
je 0x497286
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x497286
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
mov dword [esp + 0x14], esi
jmp 0x497286
mov esi, dword [esp + 0x14]
mov eax, esi
cdq
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x20]
mov dword [esp + 0xf4], edx
cdq
mov dword [esp + 0x98], eax
lea eax, [esp + 0xac]
push 4
push eax
lea eax, [esp + 0x88]
mov dword [esp + 0xa4], edx
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004908a0
add esp, 0x10
cmp dword [esp + 0x88], 1
jne 0x497865
test bl, bl
je 0x4972e5
cmp byte [esp + 0x1c], bl
jne 0x49738a
mov ecx, dword [esp + 0x20]
mov eax, esi
cdq
idiv ecx
test edx, edx
je 0x49738a
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add esi, edx
mov dword [esp + 0x14], esi
jmp 0x49738a
push 1
lea eax, [esp + 0xb0]
xorps xmm0, xmm0
push eax
lea eax, [esp + 0x88]
movlpd qword [esp + 0xf8], xmm0
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004908a0
add esp, 0x10
cmp dword [esp + 0x88], 1
jne 0x497865
mov eax, dword [esp + 0x34]
test eax, eax
jle 0x497356
cmp eax, 4
jge 0x497356
mov esi, eax
mov dword [esp + 0x2c], eax
jmp 0x49735f
mov esi, 4
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x14]
mov eax, ecx
cdq
idiv esi
test edx, edx
je 0x497379
mov eax, esi
sub eax, edx
cdq
idiv esi
add ecx, edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x20]
cmp esi, eax
cmovg eax, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], eax
push 0
push 0
xor eax, eax
mov ecx, esi
mov esi, dword [esp + 0x88]
test edi, edi
push 0xffff
push 0
cmovne ecx, eax
mov eax, esi
push 0
sub eax, ecx
mov ecx, dword [esp + 0x2c]
push eax
push dword [esp + 0x3c]
lea eax, [esp + 0x90]
push dword [esp + 0x30]
push edi
push eax
lea eax, [esp + 0x280]
push eax
call fcn.00497d80
mov ebx, eax
test ebx, ebx
je 0x49788f
xor edx, edx
nop word [eax + eax]
movzx ecx, word [esp + edx + 0x4a8]
lea edx, [edx + 2]
mov word [esp + edx + 0x8ee], cx
test cx, cx
jne 0x4973e0
test edi, edi
mov di, word [esp + 0x258]
je 0x49747e
cmp dword [esp + 0x24], 0
jne 0x497417
test di, di
jne 0x497417
mov eax, 1
jmp 0x497419
xor eax, eax
mov esi, dword [esp + 0x28]
sub esi, eax
je 0x497477
lea ecx, [esp + 0x8f0]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x497430
sub ecx, edx
sar ecx, 1
je 0x497465
nop dword [eax]
nop word [eax + eax]
mov ax, word [esp + ecx*2 + 0x8f0]
mov word [esp + ecx*2 + 0x8f2], ax
sub ecx, 1
jne 0x497450
mov eax, 0x2a
mov word [esp + 0x8f2], ax
sub esi, 1
jne 0x497421
mov esi, dword [esp + 0x80]
test di, di
mov edi, dword [esp + 0x24]
je 0x4974d0
test edi, edi
je 0x4974d0
lea edx, [esp + 0x8f0]
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x497495
sub edx, ecx
lea ecx, [esp + 0x140]
sar edx, 1
lea eax, [edx + edx]
mov edx, ecx
sub eax, edx
lea edx, [esp + 0x8f0]
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 0x4974c0
lea eax, [esp + 0x8f0]
mov dword [esp + 0x100], eax
lea edx, [esp + 0x78]
mov eax, dword [esp + 0x18]
push 1
push edx
push 0
mov ecx, dword [eax + 0x1c]
lea edx, [esp + 0xec]
push edx
lea edx, [esp + 0xe0]
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x1c]
cmp eax, 1
jne 0x497518
mov eax, dword [esp + 0xd0]
mov dword [ebx + 0x14], eax
jmp 0x497663
push 0x28
call fcn.004b7459
add esp, 4
mov dword [esp + 0x38], eax
mov ecx, eax
call fcn.00495ce0
mov dword [ebx + 0x14], eax
test eax, eax
je 0x4978a2
mov dword [esp + 0x110], eax
lea edx, [esp + 0x78]
mov eax, dword [esp + 0x18]
push 2
push edx
push 1
mov eax, dword [eax + 0x1c]
lea edx, [esp + 0xec]
push edx
lea edx, [esp + 0xe0]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov edx, dword [esp + 0x18]
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 + 0x18]
mov ecx, dword [ebx + 0x14]
mov eax, dword [eax + 0x20]
mov dword [ecx + 0x20], eax
cmp word [esp + 0x258], 0
je 0x4975ab
test edi, edi
je 0x4975ab
cmp dword [esp + 0x28], 0
mov ecx, 4
jne 0x4975a6
mov ecx, dword [ebx + 8]
imul ecx, edi
jmp 0x4975c8
lea eax, [esp + 0x8f0]
push 0x2a
push eax
call dword [esp + 0x38]
add esp, 8
mov ecx, 4
test eax, eax
jne 0x4975c8
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x14]
push 0x2a
mov dword [eax + 0x18], ecx
lea eax, [esp + 0x8f4]
push eax
call dword [esp + 0x38]
add esp, 8
test eax, eax
jne 0x4975f8
lea eax, [esp + 0x8f0]
push 0x5b
push eax
call dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x49760b
lea eax, [esp + 0x8f0]
mov dword [esp + 0x60], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0xa0], 3
lea ecx, [esp + 0xac]
mov eax, dword [ebx + 0x14]
mov edx, 5
mov dword [esp + 0x120], eax
call fcn.00495e60
test eax, eax
je 0x49788f
mov eax, dword [esp + 0x18]
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 + 0xa0], 1
cmp dword [esp + 0x28], 0
je 0x497681
mov ebx, dword [esp + 0x14]
test edi, edi
mov eax, 1
cmovne eax, edi
lea ebx, [ebx + eax*4]
mov dword [esp + 0x14], ebx
jmp 0x4976b7
mov bl, byte [esp + 0xf]
test bl, bl
je 0x49768f
cmp byte [esp + 0x1c], bl
jne 0x4976b3
test edi, edi
je 0x4976a8
mov ecx, esi
lea eax, [edi - 1]
sub ecx, dword [esp + 0x14]
imul ecx, eax
lea ebx, [esi + ecx]
mov dword [esp + 0x14], ebx
jmp 0x4976b7
xor ecx, ecx
lea ebx, [esi + ecx]
mov dword [esp + 0x14], ebx
jmp 0x4976b7
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
test edx, edx
je 0x4976f3
mov ecx, dword [esp + edx*4 + 0x1f0]
mov eax, ebx
sub eax, ecx
cmp eax, dword [esp + edx*4 + 0x170]
jle 0x4976da
mov dword [esp + edx*4 + 0x170], eax
cmp byte [esp + edx + 0x130], 0
jne 0x4976f3
mov dword [esp + 0x14], ecx
xor cl, cl
mov byte [esp + 0x1c], 0
mov byte [esp + 0xf], cl
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
push 0x7d
push esi
call edi
add esp, 8
test eax, eax
je 0x497749
mov edx, 0x4dc234
mov ecx, esi
call fcn.004065e0
test eax, eax
je 0x497737
push 0x7d
push esi
call edi
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, 0x4dc234
mov esi, eax
call fcn.004065e0
cmp esi, eax
mov esi, dword [esp + 0x10]
jae 0x497749
push 0x4cf580
push esi
call dword [esp + 0x54]
add esp, 8
lea esi, [esi + eax*2]
jmp 0x497785
mov edx, 0x4dc234
mov ecx, esi
call fcn.004065e0
test eax, eax
je 0x49776e
push 0x4dc234
push esi
call dword [esp + 0x54]
add esp, 8
lea esi, [esi + eax*2]
add esi, 2
jmp 0x497785
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x497773
sub ecx, edx
sar ecx, 1
lea esi, [esi + ecx*2]
mov dword [esp + 0x10], esi
cmp word [esi], 0
je 0x4978ff
mov edx, dword [esp + 0x70]
jmp 0x496280
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push dword [esp + 0x10]
mov ecx, 0x4e8b78
push str.Invalid_structure_definition.
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0xd38]
mov ecx, 0x4e8b78
push eax
push 0x4dc2c0
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0xd38]
mov ecx, 0x4e8b78
push eax
push str.Invalid_structure_definition.
call fcn.00448ad0
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 0x4bac30
jmp 0x497a95
mov dword [ecx + 0xb4], edi
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x4a8]
mov ecx, 0x4e8b78
push eax
push str.Variable_was_not_found_in_function.
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
lea eax, [esp + 0x4a8]
mov ecx, 0x4e8b78
push eax
push str.Invalid_structure_definition.
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
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 + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push 0x4bac30
jmp 0x497a95
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea eax, [esp + 0x258]
mov ecx, 0x4e8b78
push eax
push str.Invalid_structure_definition.
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
push esi
push str.Invalid_structure_definition.
mov ecx, 0x4e8b78
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x497921
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x497921
mov eax, ecx
sub eax, edx
cdq
idiv ecx
add edi, edx
test edi, edi
jne 0x49794b
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x49793d.1
jmp dword [ecx*4 + 0x497b10]
mov eax, dword [eax]
jmp 0x49608d
cmp dword [ebx + 0x18], edi
je 0x4979c8
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov ecx, dword [eax + 8]
cmp ecx, 5
ja case.0x497964.1
jmp dword [ecx*4 + 0x497b28]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401640
push eax
push str.Invalid_structure_Length.
mov ecx, 0x4e8b78
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [eax]
mov ecx, 0x4e8b78
push eax
push str.Invalid_structure_Length.
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x4bac30
mov ecx, 0x4e8b78
push eax
push str.Invalid_structure_Length.
call fcn.00448ad0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x14], 0
je 0x497a17
mov eax, dword [ebx + 0x1c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
cmp dword [ebx + 0xc], 1
jg 0x497a46
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
cmp word [eax], 0
jne 0x497a46
mov dword [ebx + 0x1c], 0
cmp dword [esp + 0x6c], 2
jle 0x497a17
mov esi, dword [esp + 0x50]
mov ecx, dword [esi + 8]
call fcn.0046e480
test eax, eax
je 0x497a17
mov ecx, dword [esi + 8]
call fcn.0046e480
push eax
mov ecx, ebx
call fcn.00497eb0
cmp dword [ebx + 0xc], 1
jne 0x497a3d
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0x18], 0
je 0x497a3d
cmp word [ecx + 4], 0
jne 0x497a3d
cmp dword [ecx + 0x10], 0
jne 0x497a3d
cmp dword [ecx + 0x14], 0
jne 0x497a3d
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.00497b60
mov dword [ebx + 0x1c], eax
test eax, eax
jne 0x4979f0
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.0x497a77.1
jmp dword [ecx*4 + 0x497b40]
mov ecx, dword [eax]
push 0
push 1
call fcn.00401640
jmp 0x497a94
mov eax, dword [eax]
jmp 0x497a94
mov eax, 0x4bac30
push eax
push 0x4cebc0
mov ecx, 0x4e8b78
call fcn.00448ad0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret