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

Disassembly:
sub esp, 0xcc
push esi
mov esi, dword [esp + 0xd4]
push edi
mov edi, dword [esi + 0x538]
mov dword [esp + 8], edi
test edi, edi
je 0x489af3
lea ecx, [esp + 0x70]
call fcn.0042c010
push 0
lea eax, [esp + 0x74]
push eax
push 0xd4
mov ecx, 0x6b3720
call fcn.00430ce0
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x178], ecx
mov ecx, dword [esp + 0x80]
mov dword [esi + 0x17c], edx
mov edx, dword [esp + 0x84]
mov dword [esi + 0x180], eax
mov eax, dword [esp + 0x88]
mov dword [esi + 0x184], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esi + 0x190], ecx
lea ecx, [esp + 0xb4]
mov dword [esi + 0x188], edx
mov dword [esi + 0x18c], eax
call fcn.0042c010
push 0
lea edx, [esp + 0xb8]
push edx
push 0x3f
mov ecx, 0x6b3720
call fcn.00430ce0
push 0x1e1e1e
lea eax, [esp + 0xb8]
push eax
push 0xffffffffffffffff
push 0x58bc16
mov ecx, esi
call fcn.0043d6b0
lea ecx, [esp + 0x94]
mov dword [esi + 0x170], 1
call fcn.0042c010
push 0
lea ecx, [esp + 0x98]
push ecx
push 0xd5
mov ecx, 0x6b3720
call fcn.00430ce0
lea eax, [esi + 0x194]
test eax, eax
je 0x488b10
push eax
mov ecx, esi
call fcn.0043d670
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add edi, 0x1e
push edi
lea edx, [esp + 0x3c]
push 0x58bc18
push edx
call ebp
mov eax, dword [esi]
mov edx, dword [eax + 0xbc]
add esp, 0xc
mov ecx, esi
call edx
push 9
push 0
test ax, ax
jne 0x488b4c
push 0xffffff
lea eax, [esp + 0x44]
push eax
jmp 0x488b56
push 0xcc92f8
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.0043d650
push 0
push 0
push 0xffffff
push 0x58bc17
mov ecx, esi
call fcn.0043d650
mov edx, dword [esi + 0x538]
mov ecx, dword [0x6b419c]
mov ebx, 8
cmp word [edx + 0x3b], bx
jne 0x488b90
call fcn.00498140
jmp 0x488b95
call fcn.004980f0
movzx edi, ax
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x3d]
dec eax
cmp eax, 5
ja case.default.0x488baa
jmp dword [eax*4 + 0x489b00]
push 0x959
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc20
lea ecx, [esp + 0x44]
push ecx
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0x44]
push edx
jmp 0x488cf6
push 0x95a
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc28
lea eax, [esp + 0x44]
push eax
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0x44]
push ecx
jmp 0x488cf6
push 0x95b
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc30
jmp 0x488cdb
push 0x95c
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc38
jmp 0x488bd6
push 0x95d
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc40
jmp 0x488c1b
push 0x95e
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc48
lea edx, [esp + 0x44]
push edx
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.0043d650
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 0xc7]
cmp eax, 7
ja case.0x488d11.6
jmp dword [eax*4 + 0x489b18]
push 0x95f
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc50
jmp 0x488e6c
push 0x960
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc58
lea ecx, [esp + 0x44]
push ecx
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0x44]
push edx
jmp 0x488e87
push 0x961
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc60
lea eax, [esp + 0x44]
push eax
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0x44]
push ecx
jmp 0x488e87
push 0x962
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc68
jmp 0x488e6c
push 0x963
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc70
jmp 0x488d67
push 0x964
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc78
jmp 0x488dac
push 0x965
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x58bc80
lea edx, [esp + 0x44]
push edx
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.0043d650
mov ecx, dword [esp + 0x10]
movzx eax, word [ecx + 0x3b]
sub eax, 3
je 0x488ee4
dec eax
jne 0x488f2b
push 0x966
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x40]
push 0x58bc88
push edx
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0x44]
push eax
jmp 0x488f24
push 0x967
mov ecx, 0x6b6198
call fcn.004c4980
push eax
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x40]
push 0x58bc90
push ecx
call fcn.00561680
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.0043d650
push 0x958
mov ecx, 0x6b6198
call fcn.004c4980
push eax
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 0x31]
push ecx
push 0x956
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x44]
push 0x58bc98
push edx
call ebp
mov eax, dword [0x6b419c]
mov cx, word [eax + 0x43c]
mov edx, dword [esp + 0x24]
add esp, 0x14
push 7
push 0
cmp cx, word [edx + 0x31]
jae 0x488f89
push 0xe61414
lea eax, [esp + 0x44]
push eax
jmp 0x488f93
push 0xffffff
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call fcn.0043d650
push 0
push 0
push 0xffffff
push 0x58bc1d
mov ecx, esi
call fcn.0043d650
push 0
lea edx, [esp + 0xa0]
push edx
push 0xffffb0
push 0x58bc1e
mov ecx, esi
call fcn.0043d650
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x31]
push ecx
push 0x972
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x40]
push edx
call ebp
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 0x3d]
dec eax
add esp, 0xc
cmp eax, 5
ja case.default.0x488fff
jmp dword [eax*4 + 0x489b38]
push 0
mov ecx, 0x6b6198
push 0
cmp di, 1
jne 0x489024
push 0xffffff
push 0x1d1
jmp 0x4890f5
push 0xe61414
push 0x1d1
jmp 0x4890f5
push 0
mov ecx, 0x6b6198
push 0
cmp di, 2
jne 0x489051
push 0xffffff
push 0x1d2
jmp 0x4890f5
push 0xe61414
push 0x1d2
jmp 0x4890f5
push 0
mov ecx, 0x6b6198
push 0
cmp di, 3
jne 0x48907b
push 0xffffff
push 0x1d3
jmp 0x4890f5
push 0xe61414
push 0x1d3
jmp 0x4890f5
push 0
mov ecx, 0x6b6198
push 0
cmp di, 4
jne 0x4890a2
push 0xffffff
push 0x1d4
jmp 0x4890f5
push 0xe61414
push 0x1d4
jmp 0x4890f5
push 0
mov ecx, 0x6b6198
push 0
cmp di, 5
jne 0x4890c9
push 0xffffff
push 0x1d5
jmp 0x4890f5
push 0xe61414
push 0x1d5
jmp 0x4890f5
push 0
mov ecx, 0x6b6198
push 0
cmp di, 6
jne 0x4890eb
push 0xffffff
jmp 0x4890f0
push 0xe61414
push 0x1d6
call fcn.004c4980
push eax
mov ecx, esi
call fcn.0043d650
mov ecx, dword [esi + 0x538]
cmp word [ecx + 0x3b], bx
push 0
push 0
mov ecx, 0x6b6198
jne 0x48913e
mov edx, dword [0x6b419c]
cmp dword [edx + 0x404], 1
jne 0x489132
push 0xffffff
push 0x677
jmp 0x48915d
push 0xe61414
push 0x677
jmp 0x48915d
mov eax, dword [0x6b419c]
cmp dword [eax + 0x404], 1
jne 0x489153
push 0xe61414
jmp 0x489158
push 0xffffff
push 0x678
call fcn.004c4980
push eax
mov ecx, esi
call fcn.0043d650
mov eax, dword [esp + 0x10]
cmp word [eax + 0x3b], bx
jne 0x4891b9
cmp word [eax + 0x3d], 0
je 0x4891b9
mov ecx, dword [0x6b419c]
call fcn.004980f0
mov ecx, dword [0x6b419c]
mov di, ax
call fcn.00498140
cmp di, ax
je 0x4891b9
push 0
push 0
push 0xe61414
push 0x67c
mov ecx, 0x6b6198
call fcn.004c4980
push eax
mov ecx, esi
call fcn.0043d650
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
movzx eax, al
cmp eax, 0xc
jge 0x489292
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + eax*4 + 0x7f]
mov dword [esp + 0x14], edi
test edi, edi
je 0x489336
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
mov ecx, esi
cmp al, 0xc
jae 0x48929e
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
call eax
mov dword [esp + 0x98], eax
fild dword [esp + 0x98]
test eax, eax
jns 0x48921d
fadd dword [0x57f6f0]
fmul qword [0x57f6d0]
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
mov ecx, esi
fidiv dword [esp + 0x14]
fstp dword [esp + 0x14]
call eax
lea ecx, [edi - 1]
cmp eax, ecx
je 0x489259
fld dword [esp + 0x14]
fcomp qword [0x5872f8]
fnstsw ax
test ah, 0x41
jne 0x489259
fld dword [0x5872f0]
fstp dword [esp + 0x14]
mov edx, dword [esi]
fld dword [esp + 0x14]
mov eax, dword [edx + 0xa8]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call eax
movzx ecx, al
push ecx
push 0x1d7
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x48]
push edx
call fcn.00561680
add esp, 0x14
jmp 0x4892e6
or edi, 0xffffffff
mov dword [esp + 0x14], edi
jmp 0x4891e5
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
call edx
movzx eax, ax
push eax
call fcn.004050d0
mov ecx, eax
call fcn.00520370
test eax, eax
jne 0x4892e6
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
movzx ecx, al
push ecx
push 0x195
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x40]
push edx
call fcn.00561680
add esp, 0xc
push 0
push 0
push 0xe6e826
lea eax, [esp + 0x44]
push eax
mov ecx, esi
call fcn.0043d650
cmp dword [0x6b505c], 0
je 0x489336
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
push edi
mov ecx, esi
call eax
push eax
lea ecx, [esp + 0x40]
push 0x58bca0
push ecx
call ebp
add esp, 0x10
push 0
push 0
push 0xe6e826
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.0043d650
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
test al, al
je 0x489393
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
mov ebx, dword [esp + 0x10]
movzx eax, al
movzx eax, word [ebx + eax*2 + 0xad]
push eax
push 0x1d8
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x40]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0xe6e826
lea edx, [esp + 0x44]
push edx
mov ecx, esi
call fcn.0043d650
jmp 0x489397
mov ebx, dword [esp + 0x10]
mov eax, dword [esi]
mov edx, dword [eax + 0xb8]
mov ecx, esi
call edx
test eax, eax
je 0x4893e3
mov eax, dword [esi]
mov edx, dword [eax + 0xb8]
mov ecx, esi
call edx
push eax
push 0x246
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0xffc800
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
cmp word [ebx + 0x86b], 0
je 0x489482
push 0
push 0
push 0xe6e826
push 0x54f
mov ecx, 0x6b6198
call fcn.004c4980
push eax
mov ecx, esi
call fcn.0043d650
test byte [0x6a57b8], 1
movzx edi, word [ebx + 0x86b]
jne 0x48943f
or dword [0x6a57b8], 1
mov ecx, 0x6a5648
call fcn.00521640
push 0x57de30
call fcn.00561994
add esp, 4
push edi
mov ecx, 0x6a5648
call fcn.0048a400
test eax, eax
je 0x489482
movzx edx, word [eax + 6]
push edx
push 0x550
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0xe6e826
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
test byte [0x6a57b8], 1
jne 0x4894a9
or dword [0x6a57b8], 1
mov ecx, 0x6a5648
call fcn.00521640
push 0x57de30
call fcn.00561994
add esp, 4
mov edx, dword [esi]
mov eax, dword [edx + 0xbc]
mov ecx, esi
call eax
movzx ecx, ax
xor edx, edx
mov eax, ecx
div dword [0x6a5728]
mov eax, dword [0x6a572c]
mov edx, dword [eax + edx*4]
test edx, edx
je 0x489a89
cmp dword [edx], ecx
je 0x4894e2
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x4894d2
jmp 0x489a89
mov edi, dword [edx + 4]
test edi, edi
je 0x489a89
mov eax, dword [edi + 0x1e]
test eax, eax
jle 0x489524
push eax
push 0x524
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0x1e]
test eax, eax
jns 0x48955d
neg eax
push eax
push 0x528
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 5
jp 0x4895ad
fld dword [edi + 0x22]
fmul qword [0x57f6d0]
fadd qword [0x580710]
call fcn.00561730
push eax
push 0x525
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 0x41
jne 0x4895fd
fld dword [edi + 0x22]
fmul qword [0x57f6d0]
fsubr qword [0x580710]
call fcn.00561730
push eax
push 0x529
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 5
jp 0x48964d
fld dword [edi + 0x26]
fmul qword [0x57f6d0]
fadd qword [0x580710]
call fcn.00561730
push eax
push 0x526
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 0x41
jne 0x48969d
fld dword [edi + 0x26]
fmul qword [0x57f6d0]
fsubr qword [0x580710]
call fcn.00561730
push eax
push 0x52a
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
fld dword [edi + 0x2a]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4896e9
fld dword [edi + 0x2a]
fmul qword [0x57f6d0]
call fcn.00561730
push eax
push 0x6cc
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 5
jp 0x489739
fld dword [edi + 0x2e]
fmul qword [0x57f6d0]
fadd qword [0x580710]
call fcn.00561730
push eax
push 0x527
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 0x41
jne 0x489789
fld dword [edi + 0x2e]
fmul qword [0x57f6d0]
fsubr qword [0x580710]
call fcn.00561730
push eax
push 0x52b
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0xa]
test eax, eax
jle 0x4897c0
push eax
push 0x53c
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0xa]
test eax, eax
jns 0x4897f9
neg eax
push eax
push 0x53d
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0xe]
test eax, eax
jle 0x489830
push eax
push 0x53e
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0xe]
test eax, eax
jns 0x489869
neg eax
push eax
push 0x53f
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0x12]
test eax, eax
jle 0x4898a0
push eax
push 0x540
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0x12]
test eax, eax
jns 0x4898d9
neg eax
push eax
push 0x541
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 5
jp 0x489929
fld dword [edi + 0x16]
fmul qword [0x57f6d0]
fadd qword [0x580710]
call fcn.00561730
push eax
push 0x544
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 0x41
jne 0x489979
fld dword [edi + 0x16]
fmul qword [0x57f6d0]
fsubr qword [0x580710]
call fcn.00561730
push eax
push 0x545
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 5
jp 0x4899c9
fld dword [edi + 0x1a]
fmul qword [0x57f6d0]
fadd qword [0x580710]
call fcn.00561730
push eax
push 0x52c
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 0x41
jne 0x489a19
fld dword [edi + 0x1a]
fmul qword [0x57f6d0]
fsubr qword [0x580710]
call fcn.00561730
push eax
push 0x52d
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea ecx, [esp + 0x20]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.0043d650
mov eax, dword [edi + 0x32]
test eax, eax
jle 0x489a50
push eax
push 0x542
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea eax, [esp + 0x20]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.0043d650
mov edi, dword [edi + 0x32]
test edi, edi
jns 0x489a89
neg edi
push edi
push 0x543
mov ecx, 0x6b6198
call fcn.004c4980
push eax
lea edx, [esp + 0x20]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.0043d650
push 0
push 0
push 0xffffff
push 0x58bc1f
mov ecx, esi
call fcn.0043d650
push 0
lea ecx, [esp + 0xa0]
push ecx
push 0xffffb0
push 0x58bc26
mov ecx, esi
call fcn.0043d650
movzx edx, word [ebx + 0x2f]
push 1
push 0xc8d7aa
push edx
push esi
mov ecx, 0x6b4da8
call fcn.0049d010
lea ecx, [esp + 0x9c]
call fcn.0042c020
lea ecx, [esp + 0xbc]
call fcn.0042c020
lea ecx, [esp + 0x78]
call fcn.0042c020
pop ebp
pop ebx
pop edi
pop esi
add esp, 0xcc
ret 4