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

Disassembly:
sub esp, 0xb0
push ebx
push ebp
mov ebp, dword [esp + 0xbc]
push esi
push edi
xor esi, esi
xor edi, edi
mov dword [esp + 0x18], edi
cmp dword [ebp + 0x1b4], esi
jne 0x43d538
cmp dword [ebp + 0x1110], esi
jle 0x43c4b9
mov dword [ebp + 0xef0], esi
mov dword [ebp + 0xef4], esi
mov eax, dword [ebp + 0xef4]
cmp eax, esi
jle 0x43c4cf
mov dword [ebp + 0xef0], eax
mov dword [ebp + 0xef4], esi
cmp dword [ebp + 0xef0], esi
jle 0x43c4e0
mov edi, 1
mov dword [esp + 0x18], edi
mov dword [ebp + 0xef8], edi
lea eax, [ebp + 0x118c]
mov edx, 8
cmp dword [eax - 0xc], esi
je 0x43c507
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x43c507
dec ecx
cmp ecx, esi
mov dword [eax], ecx
jg 0x43c507
mov dword [eax - 0xc], esi
add eax, 0x14
sub edx, 1
jne 0x43c4f1
mov eax, dword [ebp + 0x1144]
cmp eax, esi
mov esi, dword [0x5040e8]
je 0x43c556
cmp dword [eax + 0x1b0], edx
je 0x43c54c
mov ecx, dword [eax + 0xf08]
cmp ecx, dword [esi + 0x11e98]
jne 0x43c54c
mov edx, dword [eax + 0x2c8]
mov ebx, ebp
call fcn.004349b0
test eax, eax
je 0x43c54c
cmp dword [eax + 0x18], 0
jne 0x43c556
mov dword [ebp + 0x1144], 0
mov edx, dword [ebp]
mov eax, dword [edx + 0xb4]
mov ecx, dword [esi + 0x408]
cmp eax, ecx
jae 0x43c575
test edi, edi
je 0x43c575
cmp eax, ecx
jb 0x43c676
fld dword [ebp + 0x14bc]
push 0x60
mov ebx, 1
fstp dword [esp + 0x18]
lea esi, [ebp + 0x148c]
push 0
push esi
mov dword [ebp + 0x28c], ebx
mov dword [ebp + 0x290], ebx
mov dword [ebp + 0x294], ebx
mov dword [ebp + 0x298], ebx
call sub.MSVCR90.dll_memset
fld1
fst dword [esi + 0x24]
mov dword [esi + 0x5c], 0xffff
fst dword [esi + 0x20]
mov dword [esi + 0x4c], ebx
fst dword [esi + 0x14]
xor eax, eax
fst dword [esi + 0x10]
add esp, 0xc
fst dword [esi + 0x50]
lea edi, [ebp + 0x14f0]
fst dword [esi + 0x40]
mov ecx, 0xa
fst dword [esi + 0x3c]
mov dword [esp + 0x40], 2
fstp dword [esi]
fld dword [0x4fd888]
fstp dword [esi + 4]
fld dword [esp + 0x14]
lea esi, [esp + 0x20]
fstp dword [ebp + 0x14bc]
mov dword [ebp + 0x14e8], 0
fldz
mov dword [ebp + 0x2a0], eax
fst qword [esp + 0x20]
mov dword [ebp + 0x29c], eax
fst qword [esp + 0x28]
mov dword [ebp + 0x2a8], eax
fstp qword [esp + 0x30]
mov dword [ebp + 0x2a4], eax
fld1
mov dword [ebp + 0x1f0], ebx
fstp qword [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp + 0x1c], ebx
jne 0x43c661
cmp dword [ebp + 0x1654], ebx
je 0x43c661
mov dword [ebp + 0x28c], eax
mov dword [ebp + 0x294], eax
mov dword [ebp + 0x290], eax
mov dword [ebp + 0x298], eax
lea esi, [ebp + 0x1f8]
lea edi, [ebp + 0x220]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
jmp 0x43c67b
mov ebx, 1
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x43c68e
cmp eax, ebx
jne 0x43c6a8
cmp dword [ebp + 0x1654], ebx
jne 0x43c6a8
push 3
push 0xfffffffffffffffd
push ebp
call fcn.0045c2c0
add esp, 0xc
push 7
push 0xfffffffffffffffe
push ebp
call fcn.0045c2c0
add esp, 0xc
cmp dword [ebp + 0x308], 0
jne 0x43c6be
push 3
push 0xffffffffffffffff
push ebp
call fcn.0045c2c0
add esp, 0xc
mov dword [esp + 0x1c], 0
jmp 0x43c6ca
fstp st(0)
push ebp
call fcn.0045be80
add esp, 4
xor ebx, ebx
test eax, eax
je 0x43c70d
mov esi, dword [esp + 0x1c]
mov eax, esi
inc esi
cmp eax, 0x9c4
mov dword [esp + 0x1c], esi
jg 0x43ce5c
cmp byte [0x504c5b], 0
jne 0x43c70d
cmp dword [0x504280], ebx
jne 0x43c70d
push ebp
call fcn.0045be80
add esp, 4
test eax, eax
jne 0x43c6dd
mov ecx, dword [ebp]
mov esi, dword [0x5040e8]
mov edx, dword [ecx + 0xb4]
cmp edx, dword [esi + 0x408]
jb 0x43c733
cmp byte [ebp + 0x2b4], 0
je 0x43c733
mov dword [ebp + 0x1f0], ebx
cmp dword [esp + 0x18], ebx
jne 0x43d372
cmp dword [ebp + 0xedc], 2
jne 0x43c834
fldz
fcom dword [ebp + 0x1128]
fnstsw ax
test ah, 0x44
jnp 0x43c771
fld dword [ebp + 0x1128]
fadd qword [ebp + 0x1f8]
fstp qword [ebp + 0x1f8]
fst dword [ebp + 0x1128]
fcom dword [ebp + 0x112c]
fnstsw ax
test ah, 0x44
jnp 0x43c798
fld dword [ebp + 0x112c]
fadd qword [ebp + 0x200]
fstp qword [ebp + 0x200]
fstp dword [ebp + 0x112c]
jmp 0x43c79a
fstp st(0)
mov eax, dword [ebp + 0x1110]
cmp eax, ebx
jle 0x43c7ab
dec eax
mov dword [ebp + 0x1110], eax
mov ecx, dword [ebp + 0x1104]
cmp ecx, ebx
je 0x43c88f
mov eax, dword [ebp + 0x1b8]
sub eax, ecx
cmp dword [esi + 0x12754], 3
jne 0x43c7e0
cmp dword [ebp + 0xf00], ebx
je 0x43c7e0
mov ecx, dword [esi + 0x12760]
cmp ecx, dword [esi + 0xfce4]
jge 0x43c827
cmp eax, ebx
mov dword [ebp + 0x1b8], eax
jge 0x43c7f0
mov dword [ebp + 0x1b8], ebx
mov eax, dword [ebp + 0x1bc]
cmp dword [ebp + 0x1b8], eax
jle 0x43c804
mov dword [ebp + 0x1b8], eax
cmp dword [esi + 0x11ee0], ebx
je 0x43c827
cmp dword [ebp + 0x1b8], ebx
jne 0x43c827
mov edi, 1
mov dword [ebp + 0x1b8], edi
mov dword [ebp + 0x1104], ebx
jmp 0x43c894
mov edi, 1
mov dword [ebp + 0x1104], ebx
jmp 0x43c894
fild dword [ebp + 0x70]
mov edx, dword [ebp + 0x78]
fld qword [0x4fd818]
mov edi, 1
fld st(0)
mov dword [ebp + 0x1104], ebx
fdivrp st(2)
mov dword [ebp + 0x113c], ebx
mov dword [ebp + 0x10f0], ebx
mov dword [ebp + 0x1124], ebx
mov dword [ebp + 0x1148], ebx
mov dword [ebp + 0x1120], edx
mov dword [ebp + 0x110c], ebx
mov dword [ebp + 0x1110], ebx
mov dword [ebp + 0x116c], ebx
mov dword [ebp + 0x1164], edi
fxch st(1)
fstp dword [ebp + 0x1e4]
jmp 0x43c89a
mov edi, 1
fld qword [0x4fd818]
mov ecx, dword [ebp + 0x1ec]
cmp ecx, ebx
je 0x43c919
mov eax, dword [ebp + 0x1e8]
cmp eax, ecx
je 0x43c913
neg eax
mov dword [ebp + 0x1e8], eax
lea edx, [ebp + 0x314]
cmp dword [esi + 0x12150], edi
jne 0x43c8f7
mov ecx, dword [ebp + 0x2450]
cmp ecx, ebx
je 0x43c8f7
fld qword [ebp + 0x1f8]
fcomp qword [ecx + 0x1f8]
fnstsw ax
test ah, 0x41
jne 0x43c8ec
mov esi, edi
mov eax, edx
call fcn.00477c40
jmp 0x43c90d
xor esi, esi
mov eax, edx
call fcn.00477c40
jmp 0x43c90d
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
mov eax, edx
mov esi, ecx
call fcn.00477c40
mov edi, 1
mov esi, dword [0x5040e8]
mov dword [ebp + 0x1ec], ebx
mov edx, dword [ebp]
mov eax, dword [edx + 0xb4]
cmp eax, dword [esi + 0x408]
jae 0x43c939
cmp byte [ebp + 0x2b4], 0
je 0x43c939
mov dword [ebp + 0x1f0], ebx
mov edx, dword [ebp + 0xccc]
mov eax, edx
cmp eax, 0x13ce
jg 0x43cac6
je 0x43ca9e
sub eax, 0x28
cmp eax, 0x73
ja case.0x43cadb.5101
movzx ecx, byte [eax + 0x43d558]
jmp dword [ecx*4 + 0x43d544]
fstp st(0)
cmp dword [ebp + 0xed4], ebx
jne 0x43c988
mov edx, dword [ebp + 0x10c]
mov dword [ebp + 0x278], edx
jmp 0x43c988
mov dword [ebp + 0xee8], edi
fstp st(0)
mov eax, dword [ebp + 0xefc]
cmp eax, ebx
jg 0x43cbc4
fld qword [ebp + 0x210]
lea esi, [ebp + 0x248]
mov ecx, 0xa
lea edi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
fdivr qword [esp + 0x60]
fld qword [esp + 0x48]
fmul st(1)
fst qword [esp + 0x48]
fld st(1)
fmul qword [esp + 0x50]
fst qword [esp + 0x50]
fxch st(2)
fmul qword [esp + 0x58]
fst qword [esp + 0x58]
fxch st(1)
fadd qword [ebp + 0x1f8]
fstp qword [ebp + 0x1f8]
fld qword [ebp + 0x200]
faddp st(2)
fxch st(1)
fstp qword [ebp + 0x200]
fadd qword [ebp + 0x208]
fstp qword [ebp + 0x208]
jmp 0x43cbcb
fidiv dword [ebp + 0x70]
mov dword [ebp + 0xee8], edi
fstp dword [ebp + 0x1e4]
jmp 0x43c988
fidiv dword [ebp + 0x70]
mov eax, dword [ebp + 0x1534]
mov dword [ebp + 0xee8], edi
fstp dword [ebp + 0x1e4]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov esi, dword [ecx + 4]
imul esi, dword [eax + 0xc]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp + 0xed4]
cmp ecx, dword [esi + eax + 8]
jl 0x43c988
mov eax, dword [ebp + 0xed8]
cmp eax, edi
je 0x43ca75
cmp eax, 2
jne 0x43ca62
mov eax, 0xb
mov esi, ebp
call fcn.0043bf40
jmp 0x43ca87
cmp eax, 3
jne 0x43ca75
mov eax, 0x33
mov esi, ebp
call fcn.0043bf40
jmp 0x43ca87
mov dword [ebp + 0xed4], ebx
mov dword [ebp + 0xccc], ebx
mov dword [ebp + 0xcd0], edx
mov dword [ebp + 0x113c], ebx
mov dword [ebp + 0x10f0], ebx
mov dword [ebp + 0x1124], ebx
jmp 0x43c6ca
fstp st(0)
cmp dword [ebp + 0xed4], ebx
jne 0x43c988
fld dword [ebp + 0x74]
add dword [ebp + 0x110c], edi
fmul dword [ebp + 0x1e4]
fstp dword [ebp + 0x1e4]
jmp 0x43c988
sub eax, 0x13ec
cmp eax, 0x6e
ja case.0x43cadb.5101
movzx edx, byte [eax + 0x43d5e0]
jmp dword [edx*4 + 0x43d5cc]
fstp st(0)
cmp dword [ebp + 0xed4], ebx
jne 0x43cb12
mov eax, dword [ebp + 0x110c]
cmp eax, ebx
jle 0x43cafc
sar dword [ebp + 0x1120], 1
fld dword [ebp + 0x74]
inc eax
fmul dword [ebp + 0x1e4]
mov dword [ebp + 0x110c], eax
fstp dword [ebp + 0x1e4]
cmp dword [ebp + 0x1120], 0xa
jg 0x43c988
mov dword [ebp + 0x10d8], ebx
mov dword [ebp + 0x10e0], 0xffffffff
jmp 0x43c988
mov eax, dword [ebp + 0x1120]
fstp st(0)
cmp eax, ebx
jg 0x43cb72
cmp dword [ebp + 0xf00], ebx
je 0x43cb6a
cmp dword [ebp + 0xed4], ebx
jle 0x43cb6a
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x1120], eax
mov eax, 0x1400
mov esi, ebp
call fcn.0043bf40
jmp 0x43c6ca
cmp eax, ebx
jle 0x43c988
dec eax
mov dword [ebp + 0x1120], eax
jmp 0x43c988
cmp dword [ebp + 0xed4], ebx
jne 0x43cb91
fidiv dword [ebp + 0x70]
fstp dword [ebp + 0x1e4]
jmp 0x43cb93
fstp st(0)
mov dword [ebp + 0x113c], ebx
mov dword [ebp + 0x10f0], ebx
mov dword [ebp + 0x1124], ebx
jmp 0x43c988
cmp dword [ebp + 0xed4], ebx
jne case.0x43cadb.5101
fidiv dword [ebp + 0x70]
fstp dword [ebp + 0x1e4]
jmp 0x43c988
dec eax
mov dword [ebp + 0xefc], eax
cmp dword [ebp + 0x304], ebx
je 0x43ccec
mov ecx, dword [0x5040e8]
cmp dword [ecx + 0x126dc], 1
je 0x43ccec
fld qword [ebp + 0x210]
lea edx, [ebp + 0x2d0]
mov ecx, 0xa
mov esi, edx
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
fdivr qword [esp + 0x38]
mov dword [esp + 0x14], 0xffffffff
fld qword [esp + 0x20]
fmul st(1)
fst qword [esp + 0x20]
fld st(1)
fmul qword [esp + 0x28]
fst qword [esp + 0x28]
fxch st(2)
fmul qword [esp + 0x30]
fst qword [esp + 0x30]
fxch st(1)
fadd qword [ebp + 0x1f8]
fstp qword [ebp + 0x1f8]
fxch st(1)
fadd qword [ebp + 0x200]
fstp qword [ebp + 0x200]
fadd qword [ebp + 0x208]
fstp qword [ebp + 0x208]
fld dword [ebp + 0x2f8]
fmul qword [edx]
fst qword [edx]
fld dword [ebp + 0x2fc]
fmul qword [ebp + 0x2d8]
fstp qword [ebp + 0x2d8]
fldz
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x43cc84
mov dword [esp + 0x14], 1
fild dword [esp + 0x14]
fmulp st(2)
fld dword [ebp + 0x300]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x43cca1
mov dword [ebp + 0x304], ebx
mov eax, dword [ebp + 0x304]
cmp eax, ebx
jle 0x43ccb2
dec eax
mov dword [ebp + 0x304], eax
cmp dword [ebp + 0x304], ebx
jne 0x43ccee
fst qword [esp + 0x70]
mov ecx, 0xa
fst qword [esp + 0x78]
lea esi, [esp + 0x70]
fst qword [esp + 0x80]
mov edi, edx
fld1
mov dword [esp + 0x90], 2
fstp qword [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
jmp 0x43ccee
fldz
mov esi, dword [ebp + 0xee0]
cmp esi, 1
jne 0x43cd43
fld dword [ebp + 0x130]
mov edx, dword [0x5040e8]
fmul qword [ebp + 0x248]
fst qword [ebp + 0x248]
fabs
fld qword [edx + 0x12888]
call fcn.004dc850
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fdiv qword [0x4fd928]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcompp
fnstsw ax
test ah, 0x41
jne 0x43cd43
fst qword [ebp + 0x248]
cmp esi, 2
jne 0x43cd5a
fld dword [ebp + 0x134]
fmul qword [ebp + 0x248]
fstp qword [ebp + 0x248]
cmp esi, 3
jne 0x43ce80
cmp dword [ebp + 0xccc], 0x69
fld qword [0x5040a0]
mov eax, dword [ebp]
fdiv qword [eax + 0x90]
fmul dword [ebp + 0x12c]
fadd qword [ebp + 0x250]
fst qword [ebp + 0x250]
je 0x43ce7e
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x43ce80
lea esi, [ebp + 0x1f8]
mov ecx, 0xa
lea edi, [esp + 0x98]
rep movsd dword es:[edi], dword [esi]
fcom qword [esp + 0xa0]
fnstsw ax
test ah, 0x41
jp 0x43ce80
mov eax, dword [ebp + 0xcbc]
mov ebx, 1
test eax, eax
jne 0x43cdd9
mov eax, dword [ebp + 0xcb4]
mov esi, dword [eax]
push 0
mov edi, 0x34
mov edx, esi
call fcn.00466840
add esp, 4
cmp eax, 0xffffffff
je 0x43cdfc
mov ecx, dword [esi + 4]
imul ecx, eax
add ecx, dword [esi + 0x18]
jne 0x43cdfe
xor ebx, ebx
mov ecx, dword [ebp + 0xccc]
mov dword [ebp + 0xcd0], ecx
mov dword [ebp + 0xccc], edi
mov dword [ebp + 0xed4], 0
test ebx, ebx
jne 0x43ce36
mov edx, ecx
fstp st(0)
push edx
push 0x34
push str.changed_to_invalid_state__i__from_state__i__n
mov eax, ebp
call fcn.0040bae0
fldz
add esp, 0xc
mov eax, dword [ebp]
mov ecx, dword [eax + 0xb4]
mov edx, dword [0x5040e8]
cmp ecx, dword [edx + 0x408]
jae 0x43c6c8
fstp qword [ebp + 0x14f0]
jmp 0x43c6ca
mov eax, dword [ebp]
mov ecx, dword [ebp + 0xccc]
push eax
push ecx
push 0x9c4
push str.State_machine_stuck_in_loop__stopped_after__i_loops_:__i_for__s_nCheck_your_states_for_infinite_ChangeState_loops._n
call fcn.0040c140
add esp, 0x10
call fcn.0040bd90
fstp st(0)
cmp dword [ebp + 0x1b8], ebx
fstp st(0)
jg 0x43cfbd
cmp dword [ebp + 0xf00], ebx
je 0x43cfbd
mov eax, dword [0x500ef4]
cmp eax, ebx
je 0x43ceb5
mov edx, dword [0x5040e8]
movsx eax, byte [edx + 0x1269e]
mov dword [0x500ef4], eax
mov ecx, dword [0x5040e8]
cmp byte [ecx + 0x1269f], 0
jne 0x43cf0d
cmp eax, ebx
jne 0x43cfbd
mov eax, dword [ebp + 8]
add eax, 0x3e8
call fcn.0046ede0
mov esi, dword [ebp]
fld qword [esi + 0x440]
sub esp, 8
fstp qword [esp]
push ebx
fld dword [ebp + 0x1434]
call fcn.004dc850
mov edx, dword [esi + 0x448]
push eax
mov ecx, 0xb
call fcn.00444b20
mov eax, dword [0x500ef4]
add esp, 0x10
cmp eax, ebx
jne 0x43cfbd
cmp dword [ebp + 0xedc], 2
mov edi, 1
mov dword [0x500ef4], edi
mov dword [ebp + 0xf00], ebx
mov dword [ebp + 0xf04], ebx
mov dword [ebp + 0xee4], ebx
je 0x43cf9f
mov eax, 0x13a6
mov esi, ebp
call fcn.0043bf40
mov esi, dword [0x5040e8]
fld qword [esi + 0x12888]
add esi, 0x12888
call fcn.004dc850
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x4fdb10]
fld qword [0x4fd928]
fdiv st(1), st(0)
fxch st(1)
fstp dword [ebp + 0x1130]
fld qword [esi]
call fcn.004dc850
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov dword [ebp + 0x1148], edi
fmul qword [0x4fdb08]
fdivrp st(1)
fstp dword [ebp + 0x1134]
push ebx
push ebp
call fcn.00441310
mov edx, dword [ebp + 4]
mov eax, dword [0x5040e8]
mov edi, dword [eax + 0x10c20]
push edx
call fcn.00411580
add esp, 0xc
mov esi, dword [0x5040e8]
mov edi, 0x141e
cmp dword [ebp + 0xf00], ebx
jne 0x43d123
inc dword [ebp + 0xf04]
mov eax, dword [ebp + 0xf04]
cmp dword [ebp + 0x140], ebx
je 0x43d082
cmp eax, 0x14
jne 0x43d035
cmp byte [esi + 0x1269f], 0
jne 0x43d035
mov esi, dword [ebp]
fld qword [esi + 0x440]
sub esp, 8
fmul qword [0x4fd830]
fstp qword [esp]
push ebx
fld dword [ebp + 0x1434]
call fcn.004dc850
mov edx, dword [esi + 0x448]
push eax
mov ecx, 0xb
call fcn.00444b20
mov esi, dword [0x5040e8]
add esp, 0x10
cmp dword [ebp + 0xf04], 0x32
jne 0x43d082
cmp byte [esi + 0x1269f], 0
jne 0x43d082
mov esi, dword [ebp]
fld qword [esi + 0x440]
sub esp, 8
fmul qword [0x4fd8d8]
fstp qword [esp]
push ebx
fld dword [ebp + 0x1434]
call fcn.004dc850
mov edx, dword [esi + 0x448]
push eax
mov ecx, 0xb
call fcn.00444b20
mov esi, dword [0x5040e8]
add esp, 0x10
mov eax, dword [esi + 0x12278]
cmp ebp, eax
jne 0x43d094
cmp dword [esi + 0x12280], ebx
jne 0x43d0be
cmp ebp, dword [esi + 0x12280]
jne 0x43d0a0
cmp eax, ebx
jne 0x43d0be
mov eax, dword [esi + 0x1227c]
cmp ebp, eax
jne 0x43d0b2
cmp dword [esi + 0x12284], ebx
jne 0x43d0be
cmp ebp, dword [esi + 0x12284]
jne 0x43d0c4
cmp eax, ebx
je 0x43d0c4
mov dword [ebp + 0x298], ebx
cmp dword [ebp + 0xccc], edi
jne 0x43d123
cmp dword [ebp + 0xed4], 0xa
jl 0x43d123
mov eax, dword [esi + 0x12278]
cmp ebp, eax
jne 0x43d0e7
cmp dword [esi + 0x12280], ebx
jne 0x43d111
cmp ebp, dword [esi + 0x12280]
jne 0x43d0f3
cmp eax, ebx
jne 0x43d111
mov eax, dword [esi + 0x1227c]
cmp ebp, eax
jne 0x43d105
cmp dword [esi + 0x12284], ebx
jne 0x43d111
cmp ebp, dword [esi + 0x12284]
jne 0x43d123
cmp eax, ebx
je 0x43d123
mov dword [ebp + 0x28c], ebx
mov dword [ebp + 0x294], ebx
mov dword [ebp + 0x290], ebx
mov eax, dword [ebp + 0x10e0]
mov edx, 0xfff
cmp eax, ebx
jne 0x43d138
mov dword [ebp + 0x10d8], edx
mov ecx, dword [ebp + 0x10e4]
cmp ecx, ebx
jne 0x43d148
mov dword [ebp + 0x10dc], edx
cmp eax, ebx
jle 0x43d153
dec eax
mov dword [ebp + 0x10e0], eax
cmp ecx, ebx
jle 0x43d15e
dec ecx
mov dword [ebp + 0x10e4], ecx
mov edx, 1
cmp dword [esi + 0x11f78], edx
jne 0x43d232
mov ecx, dword [ebp + 0xccc]
cmp ecx, edi
jne 0x43d232
mov eax, dword [ebp + 0xed4]
cmp eax, 0x3c
jl 0x43d198
cmp eax, 0x5a
jge 0x43d198
sar eax, 2
and eax, edx
mov dword [ebp + 0x1f0], eax
cmp ecx, edi
jne 0x43d232
mov eax, dword [ebp + 0xed4]
cmp eax, 0x5a
jl 0x43d1ba
cmp eax, 0x78
jge 0x43d1ba
sar eax, 1
and eax, edx
mov dword [ebp + 0x1f0], eax
cmp ecx, edi
jne 0x43d232
mov eax, dword [ebp + 0xed4]
cmp eax, 0x78
jl 0x43d1ea
cmp eax, 0x96
jge 0x43d1ea
mov esi, dword [0x5040e8]
xor edx, edx
and al, 3
cmp al, 1
sete dl
mov dword [ebp + 0x1f0], edx
mov edx, 1
cmp ecx, edi
jne 0x43d232
mov eax, dword [ebp + 0xed4]
cmp eax, 0x96
jl 0x43d21c
cmp eax, 0xb4
jge 0x43d21c
mov esi, dword [0x5040e8]
xor edx, edx
and al, 7
cmp al, 1
sete dl
mov dword [ebp + 0x1f0], edx
mov edx, 1
cmp ecx, edi
jne 0x43d232
cmp dword [ebp + 0xed4], 0xb4
jl 0x43d232
mov dword [ebp + 0x1f0], ebx
add dword [ebp + 0xed4], edx
mov eax, dword [ebp + 0xed4]
cmp dword [ebp + 0xedc], ebx
jne 0x43d24e
add dword [ebp + 0xeec], edx
jmp 0x43d254
mov dword [ebp + 0xeec], ebx
cmp dword [esi + 0x5078], 3
jne 0x43d2d6
cmp dword [ebp + 0xccc], edi
jne 0x43d29c
cmp eax, 0x5a
jl 0x43d29c
mov eax, dword [ebp + 0x1bc]
mov dword [ebp + 0xccc], 0x1400
mov dword [ebp + 0xed4], 0xffffffff
mov dword [ebp + 0x1b8], eax
mov dword [ebp + 0xf00], edx
mov dword [ebp + 0x10ec], ebx
mov dword [ebp + 0x10e8], ebx
cmp dword [ebp + 0xeec], 0x1e
jle 0x43d2b9
mov ecx, dword [ebp + 0x1cc]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x1c8]
cmp dword [ecx], eax
jge 0x43d2b9
mov dword [ecx], eax
cmp dword [ebp + 0xeec], 0x3c
jle 0x43d2d6
mov eax, dword [ebp + 0x1bc]
cmp dword [ebp + 0x1b8], eax
jge 0x43d2d6
mov dword [ebp + 0x1b8], eax
cmp dword [ebp + 0xf0c], ebx
je 0x43d2e4
add dword [ebp + 0xf10], edx
mov eax, dword [ebp + 0x1114]
cmp eax, ebx
jl 0x43d2fd
cmp dword [ebp + 0x1110], ebx
jne 0x43d2fd
dec eax
mov dword [ebp + 0x1114], eax
mov ecx, 2
cmp dword [ebp + 0x1148], ebx
je 0x43d318
cmp dword [ebp + 0xedc], ecx
jne 0x43d328
add dword [ebp + 0x115c], edx
cmp dword [ebp + 0xedc], ecx
jne 0x43d328
mov dword [ebp + 0x1228], ebx
jmp 0x43d32e
add dword [ebp + 0x1228], edx
mov eax, dword [esi + 0x126dc]
cmp eax, 0xffffffff
je 0x43d352
cmp dword [ebp + eax*4 + 0x284], ebx
jle 0x43d366
dec dword [ebp + eax*4 + 0x284]
lea eax, [ebp + eax*4 + 0x284]
jmp 0x43d366
cmp dword [ebp + 0xedc], ecx
jne 0x43d366
mov dword [ebp + 0x288], ebx
mov dword [ebp + 0x284], ebx
add dword [ebp + 0x2c0], edx
mov esi, dword [0x5040e8]
mov edx, dword [ebp]
mov eax, dword [edx + 0xb4]
mov ecx, dword [esi + 0x408]
cmp eax, ecx
jae 0x43d393
cmp dword [esp + 0x18], ebx
je 0x43d393
cmp eax, ecx
jb 0x43d433
mov ecx, dword [ebp + 0xcbc]
fild dword [ebp + 0x144]
cmp ecx, ebx
je 0x43d3cb
mov eax, dword [ebp + 0xcb8]
cmp eax, 0xffffffff
je 0x43d3cb
mov eax, dword [esi + eax*4 + 0x12274]
cmp eax, ebx
je 0x43d3cb
fld qword [0x5040a0]
mov eax, dword [eax]
fld st(0)
fdiv qword [eax + 0x90]
jmp 0x43d3d9
fld qword [0x5040a0]
fld st(0)
fdiv qword [edx + 0x90]
fmulp st(2)
fild dword [ebp + 0x1e8]
fmulp st(2)
fxch st(1)
fadd qword [ebp + 0x14f0]
fstp qword [ebp + 0x14f0]
fild dword [ebp + 0x148]
cmp ecx, ebx
je 0x43d41d
mov eax, dword [ebp + 0xcb8]
cmp eax, 0xffffffff
je 0x43d41d
mov eax, dword [esi + eax*4 + 0x12274]
cmp eax, ebx
je 0x43d41d
mov ecx, dword [eax]
fxch st(1)
fdiv qword [ecx + 0x90]
jmp 0x43d425
fxch st(1)
fdiv qword [edx + 0x90]
fmulp st(1)
fadd qword [ebp + 0x14f8]
fstp qword [ebp + 0x14f8]
mov ecx, ebp
call fcn.0043d8c0
call fcn.00415ae0
push 1
push ebp
call fcn.00441820
mov ecx, dword [ebp + 0x2c8]
add esp, 8
cmp dword [ecx + 8], ebx
je 0x43d526
mov edx, dword [ecx + 0x24]
mov eax, dword [ecx + 4]
imul eax, edx
add eax, dword [ecx + 0x18]
mov dword [ecx + 0x20], edx
je 0x43d526
fldz
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
mov dword [eax + 0x18], ecx
cmp dword [edx + 0xedc], 2
jne 0x43d4f4
cmp ecx, ebx
je 0x43d4f4
mov ecx, dword [ebp + 0x1e8]
imul ecx, dword [eax + 0xc]
cmp dword [edx + 0xefc], ebx
mov dword [esp + 0x14], ecx
lea esi, [ebp + 0x248]
lea edi, [edx + 0x248]
fild dword [esp + 0x14]
mov ecx, 0xa
fadd qword [ebp + 0x1f8]
fstp qword [edx + 0x1f8]
fild dword [eax + 0x10]
fadd qword [ebp + 0x200]
fstp qword [edx + 0x200]
rep movsd dword es:[edi], dword [esi]
fst dword [edx + 0x112c]
fst dword [edx + 0x1128]
mov dword [edx + 0x1144], ebp
jg 0x43d4e9
mov dword [edx + 0xefc], 1
mov ecx, dword [eax + 0x14]
cmp ecx, ebx
jle 0x43d4f4
dec ecx
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 0x2c8]
mov ecx, dword [edx + 0x20]
cmp ecx, dword [edx + 0x28]
jge 0x43d524
mov eax, ecx
shl eax, 4
add eax, dword [edx + 0x1c]
add eax, 0x10
inc ecx
cmp dword [eax], ebx
je 0x43d50a
mov eax, dword [edx + 4]
imul eax, ecx
add eax, dword [edx + 0x18]
mov dword [edx + 0x20], ecx
jne 0x43d470
fstp st(0)
mov edx, dword [0x5040e8]
mov eax, dword [edx + 0x11e98]
mov dword [ebp + 0xf08], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret