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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x46c
mov dword [esp + 0xc], 0x5eabd5
mov dword [esp + 8], 0x1c
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [0x6ba00c]
mov dword [ebp - 0x43c], eax
mov dword [esp + 0xc], 0x5eabfb
mov dword [esp + 8], 0x1f
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [0x6ba020]
mov dword [ebp - 0x438], eax
mov dword [esp + 0xc], 0x5eac13
mov dword [esp + 8], 0x29
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [0x6ba048]
mov dword [ebp - 0x448], eax
mov dword [esp + 0xc], 0x5eac2f
mov dword [esp + 8], 0x2c
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [0x6ba034]
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x410], 0
mov dword [ebp - 0x40c], 0
mov dword [ebp - 0x408], 0
mov dword [ebp - 0x404], 0
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f8], 0
mov dword [esp], 4
call fcn.005c2f70
mov esi, eax
mov dword [ebp - 0x400], eax
lea eax, [eax + 4]
mov ebx, dword [ebp - 0x418]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x414]
mov dword [esi], 0
mov edi, eax
sub eax, ebx
je 0x408b51
cmp eax, 0xc
jne 0x4085ec
mov dword [esp], esi
call fcn.005c2f20
mov dword [ebp - 0x3fc], 0
mov dword [ebp - 0x3f8], 0
mov dword [esp], 4
call fcn.005c2f70
mov esi, eax
mov dword [ebp - 0x400], eax
lea eax, [eax + 4]
mov ebx, dword [ebp - 0x40c]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x408]
mov dword [esi], 0
mov edi, eax
sub eax, ebx
je 0x408b29
cmp eax, 0xc
jne 0x4085af
mov dword [esp], esi
call fcn.005c2f20
mov dword [esp + 0xc], 0x5eac4a
mov dword [esp + 8], 0x3e
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [0x6b9fb8]
mov dword [ebp - 0x440], eax
call fcn.0041eef0
cmp byte [eax + 0xac], 0
mov dword [ebp - 0x41c], eax
mov byte [ebp - 0x430], 0
mov dword [ebp - 0x420], 1
mov dword [ebp - 0x434], 1
jne 0x407928
nop
mov edi, dword [eax + 0x2c]
mov esi, dword [eax + 0x28]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004c29e0
lea edx, [ebp - 0x400]
mov ebx, eax
mov dword [esp], edx
mov ecx, dword [ebp - 0x41c]
call fcn.0041edf0
sub esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
mov esi, dword [ebp - 0x41c]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
mov dword [esp + 0xc], 0x49
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.align_func_proto
mov dword [esp + 4], str._s__d_:_orig_line__zu__orig_col__zu__text__s__type__s__level__zu__brace_level__zu_n
mov dword [esp], 0x2d
call fcn.0043ce70
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
mov esi, dword [ebp - 0x434]
cmp eax, esi
jae 0x407ed1
mov esi, dword [ebp - 0x420]
cmp edx, esi
jae 0x407ed1
mov eax, dword [ebp - 0x41c]
cmp byte [eax + 0xac], 0
jne 0x407900
mov eax, dword [eax]
lea edx, [eax - 7]
cmp edx, 1
ja 0x408088
cmp byte [0x6ba05c], 0
jne 0x407d00
mov eax, dword [ebp - 0x41c]
mov edx, dword [eax + 0x3c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x424], edx
xor edx, edx
mov dword [ebp - 0x428], eax
and eax, 0x10
or eax, edx
je 0x407d69
cmp byte [ebp - 0x430], 0
je 0x407ec5
mov byte [ebp - 0x430], 1
lea esi, cs:[esi]
nop
mov dword [esp], 0
mov ecx, dword [ebp - 0x41c]
call fcn.0041e5f0
sub esp, 4
cmp byte [eax + 0xac], 0
mov dword [ebp - 0x41c], eax
je 0x407800
mov dword [esp + 0xc], 0xcb
mov dword [esp + 8], str.align_func_proto
mov dword [esp + 4], str._s__d_:__as_n
mov dword [esp], 0x2d
call fcn.0043ce70
mov edx, dword [ebp - 0x434]
test edx, edx
je 0x407c7c
mov dword [ebp - 0x428], 0
mov eax, dword [ebp - 0x420]
test eax, eax
je 0x407c7c
mov eax, dword [ebp - 0x428]
xor esi, esi
lea edi, [eax + eax*2]
lea eax, [edi*4]
mov dword [ebp - 0x42c], eax
lea esi, [esi]
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x414]
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp dword [ebp - 0x428], eax
jae 0x408e01
mov eax, dword [ebp - 0x42c]
add edx, eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x408e49
mov ebx, dword [ecx + esi*4]
lea eax, [esi*4]
mov dword [ebp - 0x430], eax
test ebx, ebx
je 0x407af4
mov ecx, ebx
call fcn.00412630
mov dword [ebx + 0x94], vtable.gFrame.0
mov edx, dword [ebx + 0x98]
test edx, edx
je 0x407a4f
mov eax, dword [ebx + 0xbc]
lea edi, [eax + 4]
mov eax, dword [ebx + 0xac]
cmp eax, edi
jae 0x407a47
mov dword [ebp - 0x41c], eax
lea esi, [esi]
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c2f20
add dword [ebp - 0x41c], 4
mov eax, dword [ebp - 0x41c]
cmp eax, edi
jb 0x407a20
mov edx, dword [ebx + 0x98]
mov dword [esp], edx
call fcn.005c2f20
mov edx, dword [ebx + 0x34]
mov dword [ebx + 0x30], vtable.gFrame.0
test edx, edx
je 0x407a9c
mov eax, dword [ebx + 0x58]
lea edi, [eax + 4]
mov eax, dword [ebx + 0x48]
cmp eax, edi
jae 0x407a94
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c2f20
add dword [ebp - 0x41c], 4
mov eax, dword [ebp - 0x41c]
cmp eax, edi
jb 0x407a70
mov edx, dword [ebx + 0x34]
mov dword [esp], edx
call fcn.005c2f20
mov edx, dword [ebx + 4]
mov dword [ebx], vtable.gFrame.0
test edx, edx
je 0x407aec
mov eax, dword [ebx + 0x28]
lea edi, [eax + 4]
mov eax, dword [ebx + 0x18]
cmp eax, edi
jae 0x407ae4
mov dword [ebp - 0x41c], eax
lea esi, [esi]
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c2f20
add dword [ebp - 0x41c], 4
mov eax, dword [ebp - 0x41c]
cmp eax, edi
jb 0x407ac0
mov edx, dword [ebx + 4]
mov dword [esp], edx
call fcn.005c2f20
mov dword [esp], ebx
call fcn.005c2f20
mov edx, dword [ebp - 0x40c]
mov eax, dword [ebp - 0x408]
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp dword [ebp - 0x428], eax
jae 0x408e1b
mov eax, dword [ebp - 0x42c]
add edx, eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x408e35
mov eax, dword [ebp - 0x430]
mov ebx, dword [ecx + eax]
test ebx, ebx
je 0x407c54
mov ecx, ebx
call fcn.00412630
mov dword [ebx + 0x94], vtable.gFrame.0
mov eax, dword [ebx + 0x98]
test eax, eax
je 0x407baf
mov edi, dword [ebx + 0xbc]
mov ecx, dword [ebx + 0xac]
add edi, 4
cmp ecx, edi
jae 0x407ba7
mov dword [ebp - 0x41c], ecx
lea esi, cs:[esi]
nop
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c2f20
add dword [ebp - 0x41c], 4
mov eax, dword [ebp - 0x41c]
cmp eax, edi
jb 0x407b80
mov eax, dword [ebx + 0x98]
mov dword [esp], eax
call fcn.005c2f20
mov eax, dword [ebx + 0x34]
mov dword [ebx + 0x30], vtable.gFrame.0
test eax, eax
je 0x407bfc
mov edi, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x48]
add edi, 4
cmp ecx, edi
jae 0x407bf4
mov dword [ebp - 0x41c], ecx
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c2f20
add dword [ebp - 0x41c], 4
mov eax, dword [ebp - 0x41c]
cmp eax, edi
jb 0x407bd0
mov eax, dword [ebx + 0x34]
mov dword [esp], eax
call fcn.005c2f20
mov eax, dword [ebx + 4]
mov dword [ebx], vtable.gFrame.0
test eax, eax
je 0x407c4c
mov edi, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x18]
add edi, 4
cmp ecx, edi
jae 0x407c44
mov dword [ebp - 0x41c], ecx
lea esi, [esi]
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.005c2f20
add dword [ebp - 0x41c], 4
mov eax, dword [ebp - 0x41c]
cmp eax, edi
jb 0x407c20
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.005c2f20
mov dword [esp], ebx
call fcn.005c2f20
add esi, 1
cmp dword [ebp - 0x420], esi
jne 0x407990
add dword [ebp - 0x428], 1
mov eax, dword [ebp - 0x428]
cmp dword [ebp - 0x434], eax
jne 0x407972
mov esi, dword [ebp - 0x408]
mov ebx, dword [ebp - 0x40c]
cmp esi, ebx
je 0x407cab
mov eax, dword [ebx]
test eax, eax
je 0x408ba1
mov dword [esp], eax
add ebx, 0xc
call fcn.005c2f20
cmp esi, ebx
jne 0x407c8c
mov ebx, dword [ebp - 0x40c]
test ebx, ebx
je 0x407cb7
mov dword [esp], ebx
call fcn.005c2f20
mov esi, dword [ebp - 0x414]
mov ebx, dword [ebp - 0x418]
cmp esi, ebx
je 0x407ce6
mov eax, dword [ebx]
test eax, eax
je 0x408df1
mov dword [esp], eax
add ebx, 0xc
call fcn.005c2f20
cmp esi, ebx
jne 0x407cc7
mov ebx, dword [ebp - 0x418]
test ebx, ebx
je 0x407cf2
mov dword [esp], ebx
call fcn.005c2f20
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x4f8f80
mov dword [esp + 4], 0
mov esi, dword [ebp - 0x41c]
mov ecx, esi
call fcn.0041ef30
mov edx, dword [eax + 0x3c]
xor eax, eax
sub esp, 0x14
and edx, 0x40000
or eax, edx
jne 0x408073
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [ebp - 0x428], eax
and eax, 0x10
mov dword [ebp - 0x424], edx
xor edx, edx
or eax, edx
jne 0x408073
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x414]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408f25
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408f11
mov ebx, dword [ecx + edx*4]
test ebx, ebx
je 0x408661
mov ecx, ebx
call fcn.00412730
mov eax, dword [ebp - 0x434]
test eax, eax
je 0x407e54
mov eax, dword [ebp - 0x420]
xor esi, esi
test eax, eax
je 0x407e54
nop
lea edi, [esi + esi*2]
xor ebx, ebx
shl edi, 2
lea esi, cs:[esi]
mov edx, dword [ebp - 0x418]
mov eax, dword [ebp - 0x414]
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp esi, eax
jae 0x4088bd
add edx, edi
mov ecx, dword [edx]
mov eax, dword [edx + 4]
sub eax, ecx
sar eax, 2
cmp ebx, eax
jae 0x408b15
mov ecx, dword [ecx + ebx*4]
test ecx, ecx
je 0x407e3e
mov eax, dword [ebp - 0x41c]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
call fcn.00411660
sub esp, 4
add ebx, 1
cmp dword [ebp - 0x420], ebx
jne 0x407df0
add esi, 1
cmp dword [ebp - 0x434], esi
jne 0x407de0
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x40c]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x408]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408f4d
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408f39
mov ebx, dword [ecx + edx*4]
test ebx, ebx
je 0x4088d1
mov ecx, ebx
call fcn.00412730
mov eax, dword [ebp - 0x41c]
mov ecx, ebx
mov eax, dword [eax + 0x20]
mov dword [esp], eax
call fcn.00411660
sub esp, 4
mov byte [ebp - 0x430], 0
jmp 0x407900
mov edi, dword [ebp - 0x414]
lea esi, [eax + 1]
lea eax, [edx + 1]
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x420], eax
mov eax, edi
mov dword [ebp - 0x434], esi
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, esi
jb 0x408314
cmp esi, eax
jae 0x407f37
lea eax, [esi + esi*2]
lea ebx, [edx + eax*4]
cmp edi, ebx
je 0x407f37
mov esi, ebx
lea esi, [esi]
mov eax, dword [esi]
test eax, eax
je 0x408163
mov dword [esp], eax
add esi, 0xc
call fcn.005c2f20
cmp edi, esi
jne 0x407f18
mov dword [ebp - 0x414], ebx
mov edi, dword [ebp - 0x408]
mov edx, dword [ebp - 0x40c]
mov esi, dword [ebp - 0x434]
mov eax, edi
sub eax, edx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp eax, esi
jb 0x40832e
cmp esi, eax
jae 0x407f8f
lea eax, [esi + esi*2]
lea ebx, [edx + eax*4]
cmp edi, ebx
je 0x407f8f
mov esi, ebx
nop
mov eax, dword [esi]
test eax, eax
je 0x408153
mov dword [esp], eax
add esi, 0xc
call fcn.005c2f20
cmp esi, edi
jne 0x407f70
mov dword [ebp - 0x408], ebx
mov eax, dword [ebp - 0x434]
test eax, eax
je 0x407893
mov eax, dword [ebp - 0x420]
xor esi, esi
shl eax, 2
mov dword [ebp - 0x42c], eax
jmp 0x408019
cmp dword [ebp - 0x420], eax
jae 0x407fd0
mov eax, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x428]
add edx, eax
cmp edi, edx
je 0x407fd0
mov dword [ecx + 4], edx
lea esi, [esi]
add ebx, dword [ebp - 0x40c]
mov edi, dword [ebp - 0x420]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov eax, ecx
sub eax, edx
sar eax, 2
cmp eax, edi
jb 0x408060
cmp dword [ebp - 0x420], eax
jae 0x408008
mov eax, dword [ebp - 0x42c]
add edx, eax
cmp ecx, edx
je 0x408008
mov dword [ebx + 4], edx
lea esi, cs:[esi]
mov eax, dword [ebp - 0x434]
add esi, 1
cmp esi, eax
jae 0x407893
mov ecx, dword [ebp - 0x418]
lea ebx, [esi + esi*2]
shl ebx, 2
add ecx, ebx
mov edi, dword [ecx + 4]
mov edx, dword [ecx]
mov eax, edi
mov dword [ebp - 0x428], edx
sub eax, edx
mov edx, dword [ebp - 0x420]
sar eax, 2
cmp eax, edx
jae 0x407fb0
sub edx, eax
mov dword [esp], edx
call fcn.0057e1d0
sub esp, 4
jmp 0x407fd0
mov edx, edi
mov ecx, ebx
sub edx, eax
mov dword [esp], edx
call fcn.0057e1d0
sub esp, 4
jmp 0x408008
mov eax, dword [ebp - 0x41c]
cmp byte [eax + 0xac], 0
jne 0x407900
mov eax, dword [eax]
cmp eax, 0xbc
je 0x408180
cmp eax, 0xb9
je 0x408173
cmp byte [ebp - 0x430], 0
je 0x407ec5
cmp eax, 0xaa
jne 0x4078ef
mov esi, dword [ebp - 0x41c]
xor ecx, ecx
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [ebp - 0x428], eax
and eax, 0x40000000
or eax, ecx
mov dword [ebp - 0x424], edx
je 0x4078ef
mov ecx, dword [ebp - 0x40c]
mov eax, dword [ebp - 0x408]
mov edx, dword [esi + 0x28]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408ead
lea eax, [edx + edx*2]
mov edx, dword [esi + 0x2c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408f89
mov ebx, dword [ecx + edx*4]
test ebx, ebx
je 0x408bb1
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x41c]
mov ecx, ebx
mov dword [esp], eax
call fcn.00411930
sub esp, 8
mov ecx, ebx
call fcn.00412730
mov byte [ebp - 0x430], 0
jmp 0x407900
add esi, 0xc
cmp edi, esi
jne 0x407f70
jmp 0x407f89
add esi, 0xc
cmp edi, esi
jne 0x407f18
jmp 0x407f31
cmp byte [0x6b9fdc], 0
je 0x407900
mov dword [esp + 0xc], 0x5ead0a
mov dword [esp + 8], 0x93
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov dword [esp + 0xc], 0x5ead21
mov dword [esp + 8], 0x94
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [ebp - 0x41c]
cmp dword [eax + 4], 0x7b
jne 0x4081e1
cmp byte [0x6b9ffc], 0
jne 0x40862b
mov dword [esp], eax
call fcn.00413ce0
mov esi, eax
mov eax, dword [eax + 0x2c]
mov ecx, dword [esi + 8]
mov ebx, dword [esi + 0x28]
mov dword [ebp - 0x42c], eax
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x428], ecx
lea ecx, [esi + 0x74]
call fcn.004c4fa0
mov edx, dword [ebp - 0x42c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], edx
mov ecx, dword [ebp - 0x428]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0xa1
mov dword [esp + 8], str.align_func_proto
mov dword [esp + 4], str._s__d_:_tmp_text_is__s__orig_line_is__zu__orig_col_is__zu__level_is__zu__brace_level_is__zu_n
mov dword [esp], 0x2d
call fcn.0043ce70
mov eax, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x418]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x414]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408efd
lea eax, [edx + edx*2]
mov edi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [edi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408ee9
mov ebx, dword [ecx + edx*4]
test ebx, ebx
je 0x408348
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], esi
call fcn.00411930
sub esp, 8
mov ecx, ebx
call fcn.00412730
mov dword [esp + 0xc], 0x5ead95
mov dword [esp + 8], 0xb4
mov dword [esp + 4], str.align_func_proto
mov dword [esp], 0xe
call fcn.0043d970
mov eax, dword [ebp - 0x41c]
cmp byte [eax + 0xac], 0
jne 0x407ec5
cmp dword [eax], 0xb9
jne 0x407ec5
movzx eax, byte [0x6b9fcc]
mov byte [ebp - 0x430], al
jmp 0x407900
mov edx, esi
lea ecx, [ebp - 0x418]
sub edx, eax
mov dword [esp], edx
call fcn.0057ed00
sub esp, 4
jmp 0x407f37
mov edx, esi
lea ecx, [ebp - 0x40c]
sub edx, eax
mov dword [esp], edx
call fcn.0057ed00
sub esp, 4
jmp 0x407f9d
mov dword [esp], 0xc4
call fcn.005c2f70
mov dword [eax], vtable.gFrame.0
lea edi, [eax + 4]
mov ebx, eax
mov dword [eax + 4], 0
mov ecx, edi
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [esp], 0
call fcn.0054e900
lea eax, [ebx + 0x34]
sub esp, 4
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], vtable.gFrame.0
mov ecx, eax
mov dword [ebp - 0x428], eax
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [esp], 0
call fcn.0054e900
sub esp, 4
movzx eax, word [0x5eadba]
mov dword [ebx + 0x5c], 0
lea ecx, [ebx + 0x98]
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], 0
mov word [ebx + 0x7c], ax
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov byte [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0xffffffff
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], vtable.gFrame.0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov dword [ebx + 0xa8], 0
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0xb4], 0
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov dword [esp], 0
call fcn.0054e900
mov eax, dword [ebp - 0x438]
sub esp, 4
mov ecx, ebx
mov dword [ebx + 0xc0], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00410b10
mov eax, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x418]
sub esp, 8
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 0x448]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0x444]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp - 0x41c]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x414]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408ed5
lea eax, [edx + edx*2]
mov edi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [edi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408f61
mov dword [ecx + edx*4], ebx
jmp 0x4082a3
add ebx, 0xc
mov eax, edi
cmp edi, ebx
je 0x407794
mov dword [ebp - 0x41c], eax
mov edi, ebx
mov eax, dword [edi]
test eax, eax
je 0x408b8d
mov dword [esp], eax
add edi, 0xc
call fcn.005c2f20
cmp dword [ebp - 0x41c], edi
jne 0x4085c4
mov dword [ebp - 0x408], ebx
jmp 0x407794
add ebx, 0xc
mov eax, edi
cmp edi, ebx
je 0x407730
mov dword [ebp - 0x41c], eax
mov edi, ebx
mov eax, dword [edi]
test eax, eax
je 0x408b79
mov dword [esp], eax
add edi, 0xc
call fcn.005c2f20
mov eax, dword [ebp - 0x41c]
cmp edi, eax
jne 0x408601
mov dword [ebp - 0x414], ebx
jmp 0x407730
mov dword [esp + 0x10], 0
mov ecx, eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], fcn.004f8d80
mov dword [esp + 4], 0
call fcn.0041ef30
sub esp, 0x14
jmp 0x4081e1
mov dword [esp], 0xc4
call fcn.005c2f70
mov dword [eax], vtable.gFrame.0
lea edi, [eax + 4]
mov ebx, eax
mov dword [eax + 4], 0
mov ecx, edi
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [esp], 0
call fcn.0054e900
sub esp, 4
mov dword [ebx + 0x2c], 0
lea esi, [ebx + 0x34]
mov dword [ebx + 0x30], vtable.gFrame.0
mov ecx, esi
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [esp], 0
call fcn.0054e900
sub esp, 4
xor eax, eax
mov dword [ebx + 0x5c], 0
lea ecx, [ebx + 0x98]
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], 0
mov word [ebx + 0x7c], ax
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov byte [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0xffffffff
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], vtable.gFrame.0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov dword [ebx + 0xa8], 0
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0xb4], 0
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov dword [esp], 0
call fcn.0054e900
mov eax, dword [ebp - 0x438]
sub esp, 4
mov ecx, ebx
mov dword [ebx + 0xc0], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00410b10
mov eax, dword [ebp - 0x43c]
mov ecx, dword [ebp - 0x418]
sub esp, 8
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 0x448]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0x444]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp - 0x41c]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x414]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408ec1
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408f75
mov dword [ecx + edx*4], ebx
jmp 0x407dbd
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp], 0xc4
call fcn.005c2f70
mov dword [eax], vtable.gFrame.0
lea edi, [eax + 4]
mov ebx, eax
mov dword [eax + 4], 0
mov ecx, edi
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [esp], 0
call fcn.0054e900
sub esp, 4
mov dword [ebx + 0x2c], 0
lea esi, [ebx + 0x34]
mov dword [ebx + 0x30], vtable.gFrame.0
mov ecx, esi
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [esp], 0
call fcn.0054e900
sub esp, 4
xor eax, eax
mov dword [ebx + 0x5c], 0
lea ecx, [ebx + 0x98]
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], 0
mov word [ebx + 0x7c], ax
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov byte [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0xffffffff
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], vtable.gFrame.0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov dword [ebx + 0xa8], 0
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0xb4], 0
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov dword [esp], 0
call fcn.0054e900
mov eax, dword [ebp - 0x438]
sub esp, 4
mov ecx, ebx
mov dword [ebx + 0xc0], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00410b10
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x40c]
sub esp, 8
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 0x41c]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x408]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408e85
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408e99
mov dword [ecx + edx*4], ebx
jmp 0x407ea8
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], 0x5eacc0
call fcn.005bd710
lea ebx, [ebp - 0x400]
mov dword [esp], edi
lea ecx, [ebp - 0x40c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
call fcn.0057e850
sub esp, 0xc
jmp 0x407794
lea ebx, [ebp - 0x400]
mov dword [esp], edi
lea ecx, [ebp - 0x418]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
call fcn.0057e850
sub esp, 0xc
jmp 0x407730
add edi, 0xc
cmp dword [ebp - 0x41c], edi
jne 0x408601
jmp 0x408620
add edi, 0xc
cmp dword [ebp - 0x41c], edi
jne 0x4085c4
jmp 0x4085e1
add ebx, 0xc
cmp esi, ebx
jne 0x407c8c
jmp 0x407ca5
mov dword [esp], 0xc4
call fcn.005c2f70
mov dword [eax], vtable.gFrame.0
lea edi, [eax + 4]
mov ebx, eax
mov dword [eax + 4], 0
mov ecx, edi
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov dword [esp], 0
call fcn.0054e900
sub esp, 4
mov dword [ebx + 0x2c], 0
lea esi, [ebx + 0x34]
mov dword [ebx + 0x30], vtable.gFrame.0
mov ecx, esi
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
mov dword [esp], 0
call fcn.0054e900
xor ecx, ecx
sub esp, 4
mov dword [ebx + 0x5c], 0
mov word [ebx + 0x7c], cx
lea ecx, [ebx + 0x98]
mov dword [ebx + 0x60], 0
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x68], 0
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0
mov dword [ebx + 0x78], 0
mov dword [ebx + 0x80], 0
mov dword [ebx + 0x84], 0
mov byte [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0xffffffff
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], vtable.gFrame.0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x9c], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0xa4], 0
mov dword [ebx + 0xa8], 0
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0xb4], 0
mov dword [ebx + 0xb8], 0
mov dword [ebx + 0xbc], 0
mov dword [esp], 0
call fcn.0054e900
mov eax, dword [ebp - 0x438]
sub esp, 4
mov ecx, ebx
mov dword [ebx + 0xc0], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00410b10
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x40c]
sub esp, 8
mov dword [ebx + 0x78], eax
mov eax, dword [ebp - 0x41c]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x408]
sub eax, ecx
sar eax, 2
imul eax, eax, 0xaaaaaaab
cmp edx, eax
jae 0x408e71
lea eax, [edx + edx*2]
mov esi, dword [ebp - 0x41c]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x2c]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x408e5d
mov dword [ecx + edx*4], ebx
jmp 0x408125
add ebx, 0xc
cmp esi, ebx
jne 0x407cc7
jmp 0x407ce0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x428]
mov dword [esp], 0x5eacc0
mov dword [esp + 4], eax
call fcn.005bd710
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x428]
mov dword [esp], 0x5eacc0
mov dword [esp + 4], eax
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x5eacc0
call fcn.005bd710
mov dword [ebp - 0x41c], eax
jmp 0x5c4410
mov dword [ebx + 0x30], vtable.gFrame.0
mov ecx, esi
call fcn.0054ea20
mov esi, dword [ebp - 0x41c]
mov dword [ebx], vtable.gFrame.0
mov ecx, edi
call fcn.0054ea20
mov dword [esp], ebx
call fcn.005c2f20
lea ecx, [ebp - 0x40c]
call fcn.0057ee60
lea ecx, [ebp - 0x418]
call fcn.0057ee60
mov dword [esp], esi
call fcn.004e5360
mov ecx, ebx
call fcn.0057e370
jmp 0x5c4439