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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0xcc
mov esi, dword [edx]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x8c]
call fcn.00415bd0
test eax, eax
je 0x4903be
mov eax, dword [esp + 0x8c]
cmp eax, 0x52
je 0x48ffaf
ja 0x48fbf3
cmp eax, 0x42
je 0x48fd26
cmp eax, 0x4d
je 0x48fcd3
jmp 0x48fc01
cmp eax, 0x54
je 0x48fc1c
cmp eax, 0x7a
je 0x48ff27
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov ecx, esi
mov dword [esp], str.unrecognized_C_misc_record
call fcn.00410520
xor eax, eax
jmp 0x49113d
mov eax, dword [ebx]
lea ecx, [esp + 0x90]
mov edx, ebx
mov dword [esp + 0x30], eax
mov eax, ebp
call fcn.00415bd0
test eax, eax
je 0x4903be
lea eax, [esp + 0x98]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0x94]
mov eax, ebp
call fcn.0048fad0
test eax, eax
je 0x4903be
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov esi, dword [ebp + 0x220]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebx
mov ebp, edx
mov ebx, eax
test esi, esi
je 0x48fcb2
mov edi, dword [esi + 4]
mov al, byte [ebp]
cmp byte [edi], al
jne 0x48fcae
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x48fcae
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebx, ecx
je 0x4903c5
mov esi, dword [esi]
jmp 0x48fc7c
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.undefined_C_object
call fcn.00410520
xor eax, eax
jmp 0x49113d
lea ecx, [esp + 0xb4]
mov edx, ebx
mov eax, ebp
call fcn.00415bd0
test eax, eax
je 0x4903be
mov eax, dword [ebx]
cmp eax, dword [ebp + 0xc]
jae 0x48ffa5
cmp byte [eax], 0xf1
jne 0x48ffa5
lea eax, [esp + 0xbc]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb8]
mov eax, ebp
call fcn.0048fad0
test eax, eax
jne 0x48ffa5
jmp 0x4903be
mov eax, dword [ebp + 0x10]
lea edx, [ebp + 0x14]
mov esi, dword [ebx]
cmp eax, edx
jbe 0x48fd38
cmp dword [eax - 8], 0xffffffff
jne 0x48fd53
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov ecx, esi
mov dword [esp], str.C_default_values_not_in_a_function
call fcn.00410520
xor eax, eax
jmp 0x49113d
lea eax, [esp + 0xac]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xa8]
mov eax, ebp
call fcn.0048fad0
test eax, eax
je 0x4903be
lea ecx, [esp + 0xb0]
mov edx, ebx
mov eax, ebp
call fcn.00415bd0
test eax, eax
je 0x4903be
mov edi, dword [esp + 0x2c]
sub edi, 3
mov eax, dword [esp + 0xb0]
lea edx, [eax - 1]
test eax, eax
mov dword [esp + 0xb0], edx
je 0x48fe46
lea ecx, [esp + 0xb4]
mov edx, ebx
mov eax, ebp
call fcn.00415bd0
test eax, eax
je 0x4903be
mov ecx, dword [esp + 0xb4]
cmp ecx, 7
ja 0x48fe27
mov eax, 1
shl eax, cl
test al, 0x11
jne 0x48fe40
test al, 0x88
jne 0x48fdfd
test al, 6
je 0x48fe27
lea ecx, [esp + 0xbc]
mov edx, ebx
mov eax, ebp
call fcn.00415bd0
test eax, eax
jne 0x48fe1f
jmp 0x4903be
lea eax, [esp + 0xbc]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb8]
mov eax, ebp
call fcn.0048fad0
test eax, eax
je 0x4903be
sub edi, 2
jmp 0x48fd94
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov ecx, esi
mov dword [esp], str.unrecognized_C_default_type
call fcn.00410520
jmp 0x4903be
dec edi
jmp 0x48fd94
test edi, edi
je 0x48ffa5
mov eax, dword [ebp]
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebx
mov edx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 8]
shl eax, 4
add eax, dword [ebp + 0x128]
mov ebp, edx
mov eax, dword [eax + 8]
mov esi, eax
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xbc]
mov eax, dword [esp + 0x2c]
call fcn.00415bd0
test eax, eax
je 0x4903be
mov eax, dword [esp + 0xbc]
dec eax
test esi, esi
mov dword [esp + 0xbc], eax
jne 0x48fec5
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.reference_parameter_is_not_a_pointer
mov ecx, esi
call fcn.00410520
jmp 0x4903be
mov eax, dword [esi + eax*4]
test eax, eax
je 0x48fea4
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00409050
cmp eax, 0xc
jne 0x48fea4
mov eax, dword [esp + 0xbc]
dec edi
mov eax, dword [esi + eax*4]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.004091a0
mov edx, dword [esp + 0xbc]
mov dword [esp], ebp
lea ebx, [esi + edx*4]
mov dword [esp + 4], eax
call fcn.00408730
mov dword [ebx], eax
mov eax, dword [esp + 0xbc]
cmp dword [esi + eax*4], 0
je 0x4903be
test edi, edi
jne 0x48fe75
jmp 0x48ffa5
lea eax, [esp + 0xb0]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xa4]
mov eax, ebp
call fcn.0048fad0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb4]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xa8]
mov eax, ebp
call fcn.0048fad0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb8]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov eax, ebp
call fcn.0048fad0
test eax, eax
je 0x4903be
lea ecx, [esp + 0xbc]
mov edx, ebx
mov eax, ebp
call fcn.00415bd0
test eax, eax
je 0x4903be
mov eax, 1
jmp 0x49113d
mov eax, dword [ebx]
lea ecx, [esp + 0xac]
mov edx, ebx
mov dword [esp + 0x34], eax
mov eax, ebp
call fcn.00415bd0
test eax, eax
je 0x4903be
cmp dword [esp + 0xac], 3
je 0x48fffa
lea eax, [esp + 0xbc]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb4]
mov eax, ebp
call fcn.0048fad0
test eax, eax
jne 0x49001d
jmp 0x4903be
lea eax, [esp + 0xb8]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb0]
mov eax, ebp
call fcn.0048fad0
test eax, eax
jne 0x48ffd7
jmp 0x4903be
mov eax, dword [esp + 0xac]
cmp eax, 3
mov dword [esp + 0x40], eax
je 0x490138
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x44], 0
mov dword [esp + 0x3c], ebp
mov ecx, eax
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x44], 0
lea edx, [eax + 0x118]
je 0x490070
mov edx, dword [eax + 0x120]
test edx, edx
je 0x490260
mov eax, dword [edx]
lea esi, [eax - 1]
imul edi, esi, 0x14
test esi, esi
js 0x490251
mov ebx, dword [edx + 4]
add ebx, edi
mov ebp, dword [ebx + 0xc]
test ebp, ebp
je 0x49012f
cmp dword [ebx + 4], ecx
jne 0x49012f
mov eax, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
test eax, eax
jne 0x49012f
mov eax, dword [esp + 0x40]
cmp eax, 1
je 0x49010e
jb 0x4900f4
cmp eax, 2
je 0x490125
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.unrecognized_C_reference_type
call fcn.00410520
xor eax, eax
jmp 0x49113d
mov eax, dword [ebx + 0x10]
lea ebx, [eax - 1]
cmp ebx, 1
jbe 0x490281
cmp eax, 5
je 0x490281
jmp 0x49012f
mov eax, dword [ebx + 0x10]
cmp eax, 5
je 0x490281
cmp eax, 3
je 0x490281
jmp 0x49012f
cmp dword [ebx + 0x10], 4
je 0x490281
dec esi
sub edi, 0x14
jmp 0x490078
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x220]
mov dword [esp + 0x2c], ebp
mov ebp, esi
mov esi, eax
test ebx, ebx
je 0x49024b
mov edi, dword [ebx + 4]
mov al, byte [ebp]
cmp byte [edi], al
jne 0x490244
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x490244
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp esi, ecx
jne 0x490244
cmp dword [ebx + 0x10], 0
mov ebp, dword [esp + 0x2c]
je 0x490264
mov edx, dword [ebx + 8]
mov eax, dword [ebp]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004091f0
test eax, eax
mov dword [esp + 0x2c], eax
je 0x4901c2
xor esi, esi
mov dword [esp + 0x30], ebx
jmp 0x49021b
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov ecx, dword [esp + 0x34]
mov dword [esp], str.C_reference_in_class_with_no_fields
call fcn.00410520
xor eax, eax
jmp 0x49113d
mov edx, dword [ebp]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00409250
test eax, eax
mov edi, eax
je 0x4903be
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0xbc]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x490228
inc esi
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*4]
test eax, eax
jne 0x4901df
jmp 0x490264
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebx, ecx
jne 0x49021a
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx + 0x10]
lea ecx, [eax + esi*4]
test ecx, ecx
je 0x490264
jmp 0x490287
mov ebx, dword [ebx]
jmp 0x490154
mov ebp, dword [esp + 0x2c]
jmp 0x490264
inc dword [esp + 0x44]
cmp dword [esp + 0x44], 2
jne 0x490051
mov ebp, dword [esp + 0x3c]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov ecx, dword [esp + 0x34]
mov dword [esp], str.C_reference_not_found
call fcn.00410520
xor eax, eax
jmp 0x49113d
mov ecx, ebp
mov ebp, dword [esp + 0x3c]
mov edx, dword [ecx]
mov eax, dword [ebp]
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00409050
mov ecx, dword [esp + 0x2c]
cmp eax, 0xc
je 0x4902c2
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov ecx, dword [esp + 0x34]
mov dword [esp], str.C_reference_is_not_pointer
call fcn.00410520
xor eax, eax
jmp 0x49113d
mov edx, dword [ecx]
mov eax, dword [ebp]
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004091a0
mov edx, dword [ebp]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00408730
mov ecx, dword [esp + 0x2c]
test eax, eax
mov dword [ecx], eax
setne al
movzx eax, al
jmp 0x49113d
mov eax, dword [esp + 0x9c]
cmp eax, 0x6d
je 0x4909ec
ja 0x490464
cmp eax, 0x62
jne 0x490459
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0xa8]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb8]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb0]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
lea ecx, [esp + 0xac]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
lea eax, [esp + 0xbc]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb4]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
sub dword [esp + 0x34], 5
test byte [esp + 0xa8], 0x10
je 0x49049c
cmp dword [esp + 0x34], 0
je 0x490cdd
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x9c]
mov edx, ebx
mov edi, dword [ebx]
call fcn.00415bd0
test eax, eax
jne 0x4902f9
xor eax, eax
jmp 0x49113d
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
sub eax, 3
mov dword [esp + 0x34], eax
mov eax, dword [ebp]
mov edi, eax
mov dword [esp + 0x38], eax
mov eax, dword [esi + 8]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004091f0
mov dword [esp + 0x60], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x6c], esi
mov dword [esp + 0x2c], ebp
jmp 0x490397
cmp eax, 0x64
je 0x490670
jmp 0x49047f
cmp eax, 0x76
je 0x4909ec
cmp eax, 0x7a
je 0x490bed
cmp eax, 0x6f
je 0x490b2f
mov ebp, dword [esp + 0x2c]
mov ecx, edi
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.unrecognized_C_object_spec
call fcn.00410520
jmp 0x4903be
cmp dword [esp + 0xac], 0
sete dl
cmp dword [esp + 0xbc], 0
setne al
cmp dl, al
je 0x4904d5
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.unsupported_C_object_type
call fcn.00410520
jmp 0x4903be
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
call fcn.0040f8e0
mov dword [esp + 8], 0
mov esi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00408fb0
mov dword [esp], esi
mov edi, eax
mov dword [esp + 0x3c], eax
call fcn.0048d280
test edi, edi
jne 0x490533
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.C_base_class_not_defined
call fcn.00410520
jmp 0x4903be
cmp dword [esp + 0xbc], 0
je 0x4905e5
mov esi, dword [esp + 0x58]
test esi, esi
je 0x490764
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x48], ebx
mov eax, dword [esi]
test eax, eax
je 0x4905a5
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00409250
test eax, eax
mov edi, eax
je 0x4903be
mov eax, dword [esp + 0xb4]
mov cl, byte [eax]
cmp byte [edi], cl
jne 0x4905ce
mov ebx, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], ebx
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x4905ce
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ebx, ecx
jne 0x4905ce
mov eax, dword [esi]
mov ebx, dword [esp + 0x48]
test eax, eax
jne 0x4905d3
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.C_base_class_not_found_in_container
call fcn.00410520
jmp 0x4903be
add esi, 4
jmp 0x490555
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00409270
jmp 0x4905e7
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov ecx, edx
and edx, 1
shr ecx, 1
neg edx
and ecx, 1
and edx, 2
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call fcn.00408980
test eax, eax
mov edi, eax
je 0x4903be
mov eax, dword [esp + 0x50]
lea esi, [eax + 1]
cmp esi, dword [esp + 0x70]
jb 0x490654
add dword [esp + 0x70], 0xa
mov eax, dword [esp + 0x70]
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.00474370
mov dword [esp + 0x64], eax
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x50], esi
mov dword [eax + edx*4], edi
mov dword [eax + edx*4 + 4], 0
jmp 0x490397
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0xac]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb8]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb0]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
lea eax, [esp + 0xbc]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb4]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
call fcn.0040f8e0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xac]
shr eax, 2
and eax, 1
mov dword [esp + 0x4c], eax
je 0x490750
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0xbc]
mov dword [esp + 0x3c], ebx
mov esi, dword [eax + 0x11c]
imul edx, dword [eax + 0x118], 0x14
mov eax, dword [esp + 0xb4]
lea edi, [esi + edx]
mov ebx, edi
mov edi, eax
cmp esi, ebx
jae 0x490dcf
cmp dword [esi + 4], ebp
jne 0x49074b
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x490dbd
add esi, 0x14
jmp 0x490724
mov esi, dword [esp + 0x58]
test esi, esi
je 0x490764
mov dword [esp + 0x74], ebx
xor ebp, ebp
mov ebx, dword [esp + 0x38]
jmp 0x4907aa
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.C_object_has_no_fields
call fcn.00410520
jmp 0x4903be
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00409250
test eax, eax
mov edi, eax
je 0x4903be
mov eax, dword [esp + 0xb4]
mov dl, byte [eax]
cmp byte [edi], dl
je 0x4907b2
add esi, 4
inc ebp
mov eax, dword [esi]
test eax, eax
jne 0x490783
jmp 0x4907e1
mov edx, dword [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], edx
mov dword [esp + 0x3c], edx
call sub.msvcrt.dll_strncmp
mov edx, dword [esp + 0x3c]
test eax, eax
jne 0x4907a6
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
jne 0x4907a6
mov eax, dword [esi]
mov ebx, dword [esp + 0x74]
test eax, eax
jne 0x49080a
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.C_data_member_not_found_in_container
call fcn.00410520
jmp 0x4903be
mov edi, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00409230
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 0x3c], eax
call fcn.00409050
cmp eax, 0xc
jne 0x4908a6
mov eax, dword [esp + 0x6c]
cmp dword [eax + 0x10], 0
jne 0x49086e
xor eax, eax
mov edi, dword [esp + 0x58]
cmp dword [edi + eax*4], 0
je 0x490848
inc eax
jmp 0x49083b
lea ecx, [eax*4]
mov dword [esp], ecx
mov dword [esp + 0x74], ecx
call fcn.004742f0
mov ecx, dword [esp + 0x74]
mov edx, eax
mov eax, dword [esp + 0x6c]
mov edi, edx
mov dword [eax + 0x10], edx
xor eax, eax
rep stosb byte es:[edi], al
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x4903be
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 0x10]
mov dword [eax + ebp*4], edx
mov dword [esp + 8], 0
mov eax, dword [edi + 0x10]
lea eax, [eax + ebp*4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00408440
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], 0
je 0x4903be
mov eax, dword [esp + 0xac]
and eax, 3
cmp eax, 1
je 0x4908d6
jb 0x4908d2
cmp eax, 2
jne 0x490b10
mov edi, 1
jmp 0x4908db
xor edi, edi
jmp 0x4908db
mov edi, 2
cmp dword [esp + 0x4c], 0
je 0x49091d
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
call fcn.0040f8e0
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00408a50
mov edi, eax
jmp 0x490996
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00409270
mov ebp, eax
mov eax, dword [esi]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00409290
cmp eax, 0xffffffff
je 0x49094d
cmp ebp, 0xffffffff
jne 0x49096c
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.bad_C_field_bit_pos_or_size
call fcn.00410520
jmp 0x4903be
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004089b0
mov edi, eax
test edi, edi
je 0x4903be
mov eax, dword [esp + 0x44]
lea esi, [eax + 1]
cmp esi, dword [esp + 0x68]
jb 0x4909cb
add dword [esp + 0x68], 0xa
mov eax, dword [esp + 0x68]
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00474370
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x5c]
sub dword [esp + 0x34], 4
mov dword [esp + 0x44], esi
mov dword [eax + edx*4], edi
mov dword [eax + edx*4 + 4], 0
jmp 0x490397
mov edi, dword [esp + 0x2c]
lea ecx, [esp + 0xa0]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb4]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb8]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb0]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x9c], 0x76
lea esi, [eax - 4]
je 0x490a6a
mov dword [esp + 0xa4], 0
jmp 0x490a8b
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xa4]
mov edx, ebx
call fcn.00415bd0
test eax, eax
je 0x4903be
mov esi, dword [esp + 0x34]
sub esi, 5
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xa8]
mov edx, ebx
call fcn.00415bd0
test eax, eax
je 0x4903be
test byte [esp + 0xa0], 0x10
lea eax, [esi - 1]
mov dword [esp + 0x34], eax
jne 0x490397
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0xb8]
mov dword [esp + 0x3c], ebx
mov esi, dword [eax + 0x11c]
imul edx, dword [eax + 0x118], 0x14
mov eax, dword [esp + 0xb0]
lea edi, [esi + edx]
mov ebx, edi
mov edi, eax
cmp esi, ebx
jae 0x490e06
cmp dword [esi + 4], ebp
jne 0x490b0b
mov dword [esp + 8], ebp
mov dword [esp + 4], edi
mov eax, dword [esi]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x490e51
add esi, 0x14
jmp 0x490ae4
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.unknown_C_visibility
call fcn.00410520
jmp 0x4903be
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xb0]
mov edx, ebx
call fcn.00415bd0
test eax, eax
je 0x4903be
mov eax, dword [esp + 0xb0]
test al, 4
je 0x490b9c
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0xb8]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xb4]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
lea ecx, [esp + 0xbc]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
sub dword [esp + 0x34], 4
jmp 0x490397
test al, 8
je 0x490bce
lea eax, [esp + 0xbc]
mov edx, ebx
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xb8]
call fcn.0048fad0
test eax, eax
je 0x4903be
sub dword [esp + 0x34], 3
jmp 0x490397
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.unrecognized_C_object_overhead_spec
call fcn.00410520
jmp 0x4903be
mov edi, dword [esp + 0x2c]
lea eax, [esp + 0xb0]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xa8]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
lea ecx, [esp + 0xb8]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
lea eax, [esp + 0xb4]
mov edx, ebx
mov dword [esp], eax
lea ecx, [esp + 0xac]
mov eax, edi
call fcn.0048fad0
test eax, eax
je 0x4903be
lea ecx, [esp + 0xbc]
mov edx, ebx
mov eax, edi
call fcn.00415bd0
test eax, eax
je 0x4903be
mov edx, dword [esp + 0xb4]
sub dword [esp + 0x34], 5
test edx, edx
je 0x490cd0
mov eax, dword [esp + 0xac]
call fcn.0040f8e0
mov dword [esp + 8], 0
mov esi, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00408fb0
mov dword [esp], esi
mov edi, eax
mov dword [esp + 0x7c], eax
call fcn.0048d280
test edi, edi
jne 0x490397
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.undefined_C_vtable
call fcn.00410520
jmp 0x4903be
mov dword [esp + 0x60], 1
jmp 0x490397
cmp dword [esp + 0x40], 0
mov esi, dword [esp + 0x6c]
je 0x490d57
mov eax, dword [esp + 0x40]
xor ebp, ebp
lea eax, [eax*4 + 4]
mov dword [esp], eax
call fcn.004742f0
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x38]
mov edi, eax
mov edx, dword [ebx + 4]
add ebx, 0x14
mov eax, dword [ebx - 0x14]
call fcn.0040f8e0
mov edx, dword [ebx - 0xc]
mov dword [esp], esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call fcn.00408af0
test eax, eax
mov dword [edi + ebp*4], eax
je 0x4903be
inc ebp
cmp ebp, dword [esp + 0x40]
jne 0x490d0b
mov eax, dword [esp + 0x54]
mov dword [edi + ebp*4], 0
mov esi, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0048d280
jmp 0x490d59
xor edi, edi
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004090b0
mov edx, dword [esp + 0x60]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x64]
mov dword [esp], ebx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esp + 0x90], 0x75
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], edi
setne al
mov dword [esp + 4], eax
call fcn.00408580
test eax, eax
mov dword [esi + 0xc], eax
setne al
movzx eax, al
jmp 0x49113d
mov eax, dword [esi + 8]
xor esi, esi
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
jmp 0x4908a6
mov eax, dword [esp + 0x2c]
xor esi, esi
mov ebx, dword [esp + 0x3c]
mov eax, dword [eax + 0x130]
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x4908b1
mov edx, dword [esp + 0x30]
mov ecx, 1
mov eax, dword [esp + 0x2c]
call fcn.00415c40
mov dword [esp + 0x3c], eax
jmp 0x4908a6
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
mov eax, dword [eax + 0x130]
test eax, eax
jne 0x490e2a
mov edx, dword [esp + 0x30]
mov ecx, 1
mov eax, dword [esp + 0x2c]
call fcn.00415c40
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.004086e0
mov edi, eax
jmp 0x490ee7
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xbc], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00409050
cmp eax, 0xd
jne 0x49111e
mov eax, dword [esi + 8]
mov ebp, dword [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00409100
lea edx, [esp + 0xbc]
mov edi, eax
mov eax, dword [esi + 8]
mov dword [esp + 8], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.00409140
test eax, eax
je 0x4910ff
test edi, edi
je 0x4910ff
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esi + 8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004088c0
mov edi, eax
test edi, edi
je 0x4903be
mov esi, dword [esp + 0xa0]
mov eax, esi
and eax, 3
cmp eax, 1
je 0x490f1f
jb 0x490f15
cmp eax, 2
jne 0x490b10
mov dword [esp + 0x3c], 1
jmp 0x490f27
mov dword [esp + 0x3c], 0
jmp 0x490f27
mov dword [esp + 0x3c], 2
mov edx, dword [esp + 0xb8]
mov ebp, esi
mov eax, dword [esp + 0xb0]
shr ebp, 5
shr esi, 6
and ebp, 1
and esi, 1
call fcn.0040f8e0
test byte [esp + 0xa0], 4
mov edx, eax
je 0x490fa7
cmp dword [esp + 0x9c], 0x76
jne 0x490f7d
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.C_static_virtual_method
call fcn.00410520
jmp 0x4903be
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00408bb0
mov dword [esp + 0x48], eax
jmp 0x490ff1
xor eax, eax
cmp dword [esp + 0x9c], 0x76
jne 0x490fba
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 8], edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00408b10
mov dword [esp + 0x48], eax
cmp dword [esp + 0x48], 0
je 0x4903be
mov edi, dword [esp + 0xb4]
xor ebp, ebp
mov eax, dword [esp + 0xac]
mov dword [esp + 0x4c], ebx
mov esi, dword [esp + 0x54]
mov ebx, edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
cmp ebp, edi
je 0x491047
cmp dword [esi + 4], ebx
jne 0x491041
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov eax, dword [esi]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x49104d
add esi, 0x14
inc ebp
jmp 0x49101e
mov ebx, dword [esp + 0x4c]
jmp 0x491057
cmp ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x4c]
jb 0x4910b4
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x40], eax
jb 0x49107f
add dword [esp + 0x78], 0xa
imul eax, dword [esp + 0x78], 0x14
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00474370
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xac]
imul esi, dword [esp + 0x40], 0x14
add esi, dword [esp + 0x54]
inc dword [esp + 0x40]
mov dword [esi], eax
mov eax, dword [esp + 0xb4]
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 4], eax
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
lea edx, [edi + 1]
cmp edx, eax
jb 0x4910dc
mov edx, dword [esi + 8]
add eax, 0xa
mov dword [esi + 0x10], eax
shl eax, 2
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00474370
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
mov edi, dword [esp + 0x48]
mov dword [edx + eax*4], edi
lea edx, [eax + 1]
mov dword [esi + 0xc], edx
mov edx, dword [esi + 8]
mov dword [edx + eax*4 + 4], 0
jmp 0x490397
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.no_type_information_for_C_method_function
call fcn.00410520
jmp 0x4903be
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [ebp + 4]
lea edx, [ebp + 8]
mov dword [esp], str.bad_type_for_C_method_function
call fcn.00410520
jmp 0x4903be
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret