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

Disassembly:
push 0xffffffffffffffff
push 0x5c27a4
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x70a108]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebp
push esi
push edi
mov eax, dword [0x70a108]
xor eax, esp
push eax
lea eax, [esp + 0xe0]
mov dword fs:[0], eax
mov esi, dword [esp + 0xf0]
mov edi, dword [esi + 0x538]
mov dword [esp + 0x14], edi
test edi, edi
je 0x4964ab
lea ecx, [esp + 0x1c]
call fcn.00430640
push 0
lea eax, [esp + 0x20]
push eax
push 0xd4
mov ecx, 0x7197e8
mov dword [esp + 0xf4], 0
call fcn.00435b40
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esi + 0x178], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esi + 0x17c], edx
mov edx, dword [esp + 0x30]
mov dword [esi + 0x180], eax
mov eax, dword [esp + 0x34]
mov dword [esi + 0x184], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x190], ecx
lea ecx, [esp + 0x5c]
mov dword [esi + 0x188], edx
mov dword [esi + 0x18c], eax
call fcn.00430640
push 0
lea edx, [esp + 0x60]
push edx
push 0x3f
mov ecx, 0x7197e8
mov byte [esp + 0xf4], 1
call fcn.00435b40
push 0x1e1e1e
lea eax, [esp + 0x60]
push eax
push 0xffffffffffffffff
push 0x5d0a36
mov ecx, esi
call fcn.004427f0
lea ecx, [esp + 0x3c]
mov dword [esi + 0x170], 1
call fcn.00430640
push 0
lea ecx, [esp + 0x40]
push ecx
push 0xd5
mov ecx, 0x7197e8
mov byte [esp + 0xf4], 2
call fcn.00435b40
lea eax, [esi + 0x194]
test eax, eax
je 0x4954a2
push eax
mov ecx, esi
call fcn.004427b0
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [edi + 0x1e]
push edx
lea eax, [esp + 0xa0]
push 0x5d2df0
push eax
call ebp
mov edx, dword [esi]
mov eax, dword [edx + 0xbc]
add esp, 0xc
mov ecx, esi
call eax
push 9
push 0
test ax, ax
jne 0x4954e2
push 0xffffff
lea ecx, [esp + 0xa8]
push ecx
jmp 0x4954ef
push 0xcc92f8
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00442790
push 0
push 0
push 0xffffff
push 0x5d0a36
mov ecx, esi
call fcn.00442790
mov eax, dword [esi + 0x538]
cmp word [eax + 0x3b], 8
mov ecx, dword [0x71a264]
jne 0x49552c
call fcn.004a55b0
movzx ecx, ax
mov dword [esp + 0x10], ecx
jmp 0x495538
call fcn.004a5560
movzx edx, ax
mov dword [esp + 0x10], edx
movzx eax, word [edi + 0x3d]
dec eax
cmp eax, 5
ja case.default.0x495546
jmp dword [eax*4 + 0x4964d4]
push 0x959
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0xa4]
push str._s__s
push eax
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0xa8]
push ecx
jmp 0x49563e
push 0x95a
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0xa4]
push str._s__s
push edx
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x49563e
push 0x95b
jmp 0x4955fd
push 0x95c
jmp 0x495552
push 0x95d
jmp 0x49559d
push 0x95e
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0xa4]
push str._s__s
push ecx
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00442790
movzx eax, word [edi + 0xc7]
cmp eax, 7
ja case.0x495655.6
jmp dword [eax*4 + 0x4964ec]
push 0x95f
jmp 0x495716
push 0x960
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0xa4]
push str._s__s
push edx
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x495757
push 0x961
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0xa4]
push str._s__s
push ecx
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
jmp 0x495757
push 0x962
jmp 0x495716
push 0x963
jmp 0x49566b
push 0x964
jmp 0x4956b6
push 0x965
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0xa4]
push str._s__s
push eax
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.00442790
movzx eax, word [edi + 0x3b]
sub eax, 3
je 0x4957b6
dec eax
jne 0x495803
push 0x966
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0xa4]
push str._s__s
push edx
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x4957fc
push 0x967
mov ecx, 0x71c268
call fcn.004d3c70
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0xa4]
push str._s__s
push ecx
call fcn.00586b40
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00442790
push 0x958
mov ecx, 0x71c268
call fcn.004d3c70
push eax
movzx eax, word [edi + 0x31]
push eax
push 0x956
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0xa8]
push str._s__d_s
push ecx
call ebp
mov edx, dword [0x71a264]
mov ax, word [edx + 0x43c]
add esp, 0x14
push 7
push 0
cmp ax, word [edi + 0x31]
jae 0x495860
push 0xe61414
lea ecx, [esp + 0xa8]
push ecx
jmp 0x49586d
push 0xffffff
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00442790
push 0
push 0
push 0xffffff
push 0x5d0a36
mov ecx, esi
call fcn.00442790
push 0
lea eax, [esp + 0x40]
push eax
push 0xffffb0
push 0x5d0a36
mov ecx, esi
call fcn.00442790
movzx ecx, word [edi + 0x31]
push ecx
push 0x972
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0xa4]
push edx
call ebp
movzx eax, word [edi + 0x3d]
dec eax
add esp, 0xc
cmp eax, 5
ja case.default.0x4958d1
jmp dword [eax*4 + 0x49650c]
cmp word [esp + 0x10], 1
push 0
mov ecx, 0x71c268
push 0
jne 0x4958f8
push 0xffffff
push 0x1d1
jmp 0x4959d6
push 0xe61414
push 0x1d1
jmp 0x4959d6
cmp word [esp + 0x10], 2
push 0
mov ecx, 0x71c268
push 0
jne 0x495927
push 0xffffff
push 0x1d2
jmp 0x4959d6
push 0xe61414
push 0x1d2
jmp 0x4959d6
cmp word [esp + 0x10], 3
push 0
mov ecx, 0x71c268
push 0
jne 0x495956
push 0xffffff
push 0x1d3
jmp 0x4959d6
push 0xe61414
push 0x1d3
jmp 0x4959d6
cmp word [esp + 0x10], 4
push 0
mov ecx, 0x71c268
push 0
jne 0x49597f
push 0xffffff
push 0x1d4
jmp 0x4959d6
push 0xe61414
push 0x1d4
jmp 0x4959d6
cmp word [esp + 0x10], 5
push 0
mov ecx, 0x71c268
push 0
jne 0x4959a8
push 0xffffff
push 0x1d5
jmp 0x4959d6
push 0xe61414
push 0x1d5
jmp 0x4959d6
cmp word [esp + 0x10], 6
push 0
mov ecx, 0x71c268
push 0
jne 0x4959cc
push 0xffffff
jmp 0x4959d1
push 0xe61414
push 0x1d6
call fcn.004d3c70
push eax
mov ecx, esi
call fcn.00442790
mov eax, dword [esi + 0x538]
cmp word [eax + 0x3b], 8
push 0
push 0
jne 0x495a20
mov ecx, dword [0x71a264]
cmp dword [ecx + 0x404], 1
mov ecx, 0x71c268
jne 0x495a14
push 0xffffff
push 0x677
jmp 0x495a45
push 0xe61414
push 0x677
jmp 0x495a45
mov edx, dword [0x71a264]
cmp dword [edx + 0x404], 1
mov ecx, 0x71c268
jne 0x495a3b
push 0xe61414
jmp 0x495a40
push 0xffffff
push 0x678
call fcn.004d3c70
push eax
mov ecx, esi
call fcn.00442790
cmp word [edi + 0x3b], 8
jne 0x495aa0
movzx eax, word [edi + 0x3d]
test ax, ax
je 0x495aa0
mov ecx, dword [0x71a264]
call fcn.004a5560
mov ecx, dword [0x71a264]
mov di, ax
call fcn.004a55b0
cmp di, ax
je 0x495aa0
push 0
push 0
push 0xe61414
push 0x67c
mov ecx, 0x71c268
call fcn.004d3c70
push eax
mov ecx, esi
call fcn.00442790
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
movzx eax, al
cmp eax, 0xc
jge 0x495b76
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + eax*4 + 0x7f]
mov dword [esp + 0x10], edi
test edi, edi
je 0x495c26
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
mov ecx, esi
cmp al, 0xc
jae 0x495b82
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
call eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
test eax, eax
jns 0x495afe
fadd dword [0x5cf690]
fmul qword [0x5cf640]
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
mov ecx, esi
fidiv dword [esp + 0x10]
fstp dword [esp + 0x10]
call eax
lea ecx, [edi - 1]
cmp eax, ecx
je 0x495b3a
fld dword [esp + 0x10]
fcomp qword [0x5d68c0]
fnstsw ax
test ah, 0x41
jne 0x495b3a
fld dword [0x5d68bc]
fstp dword [esp + 0x10]
mov edx, dword [esi]
fld dword [esp + 0x10]
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, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0xac]
push edx
call fcn.00586b40
add esp, 0x14
jmp 0x495bcd
or edi, 0xffffffff
mov dword [esp + 0x10], edi
jmp 0x495acc
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
call edx
movzx eax, ax
push eax
call fcn.00405410
mov ecx, eax
call fcn.0053a550
test eax, eax
jne 0x495bcd
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
movzx ecx, al
push ecx
push 0x195
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0xa4]
push edx
call fcn.00586b40
add esp, 0xc
push 0
push 0
push 0xe6e826
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call fcn.00442790
cmp dword [0x71b12c], 0
je 0x495c26
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
push edi
mov ecx, esi
call eax
push eax
lea ecx, [esp + 0xa4]
push str._d____d
push ecx
call ebp
add esp, 0x10
push 0
push 0
push 0xe6e826
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00442790
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
test al, al
je 0x495c87
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
mov ecx, dword [esp + 0x14]
movzx eax, al
movzx edx, word [ecx + eax*2 + 0xad]
push edx
push 0x1d8
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0xa4]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0xe6e826
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.00442790
mov edx, dword [esi]
mov eax, dword [edx + 0xb8]
mov ecx, esi
call eax
test eax, eax
je 0x495cd9
mov edx, dword [esi]
mov eax, dword [edx + 0xb8]
mov ecx, esi
call eax
push eax
push 0x246
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0xffc800
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x86b]
test ax, ax
je 0x495d98
push 0
push 0
push 0xe6e826
push 0x54f
mov ecx, 0x71c268
call fcn.004d3c70
push eax
mov ecx, esi
call fcn.00442790
test byte [0x70b878], 1
mov ecx, dword [esp + 0x14]
movzx edi, word [ecx + 0x86b]
jne 0x495d4f
or dword [0x70b878], 1
mov ecx, 0x70b708
mov byte [esp + 0xe8], 3
call fcn.0053bb10
push 0x5cdbd0
call fcn.00587160
add esp, 4
mov byte [esp + 0xe8], 2
push edi
mov ecx, 0x70b708
call fcn.00496ea0
test eax, eax
je 0x495d98
movzx edx, word [eax + 6]
push edx
push 0x550
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0xe6e826
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
test byte [0x70b878], 1
jne 0x495dcf
or dword [0x70b878], 1
mov ecx, 0x70b708
mov byte [esp + 0xe8], 4
call fcn.0053bb10
push 0x5cdbd0
call fcn.00587160
add esp, 4
mov byte [esp + 0xe8], 2
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 [0x70b7e8]
mov eax, dword [0x70b7ec]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x49642d
cmp dword [eax], ecx
je 0x495e08
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x495df8
jmp 0x49642d
mov edi, dword [eax + 4]
test edi, edi
je 0x49642d
mov eax, dword [edi + 0x1e]
test eax, eax
jle 0x495e50
push eax
push 0x524
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0x1e]
test eax, eax
jns 0x495e8f
neg eax
push eax
push 0x528
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 5
jp 0x495ee5
fld dword [edi + 0x22]
fmul qword [0x5cf640]
fadd qword [0x5d1018]
call fcn.00586d50
push eax
push 0x525
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 0x41
jne 0x495f3b
fld dword [edi + 0x22]
fmul qword [0x5cf640]
fsubr qword [0x5d1018]
call fcn.00586d50
push eax
push 0x529
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 5
jp 0x495f91
fld dword [edi + 0x26]
fmul qword [0x5cf640]
fadd qword [0x5d1018]
call fcn.00586d50
push eax
push 0x526
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 0x41
jne 0x495fe7
fld dword [edi + 0x26]
fmul qword [0x5cf640]
fsubr qword [0x5d1018]
call fcn.00586d50
push eax
push 0x52a
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
fld dword [edi + 0x2a]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x496039
fld dword [edi + 0x2a]
fmul qword [0x5cf640]
call fcn.00586d50
push eax
push 0x6cc
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 5
jp 0x49608f
fld dword [edi + 0x2e]
fmul qword [0x5cf640]
fadd qword [0x5d1018]
call fcn.00586d50
push eax
push 0x527
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 0x41
jne 0x4960e5
fld dword [edi + 0x2e]
fmul qword [0x5cf640]
fsubr qword [0x5d1018]
call fcn.00586d50
push eax
push 0x52b
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0xa]
test eax, eax
jle 0x496122
push eax
push 0x53c
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0xa]
test eax, eax
jns 0x496161
neg eax
push eax
push 0x53d
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0xe]
test eax, eax
jle 0x49619e
push eax
push 0x53e
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0xe]
test eax, eax
jns 0x4961dd
neg eax
push eax
push 0x53f
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0x12]
test eax, eax
jle 0x49621a
push eax
push 0x540
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0x12]
test eax, eax
jns 0x496259
neg eax
push eax
push 0x541
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 5
jp 0x4962af
fld dword [edi + 0x16]
fmul qword [0x5cf640]
fadd qword [0x5d1018]
call fcn.00586d50
push eax
push 0x544
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 0x41
jne 0x496305
fld dword [edi + 0x16]
fmul qword [0x5cf640]
fsubr qword [0x5d1018]
call fcn.00586d50
push eax
push 0x545
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 5
jp 0x49635b
fld dword [edi + 0x1a]
fmul qword [0x5cf640]
fadd qword [0x5d1018]
call fcn.00586d50
push eax
push 0x52c
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 0x41
jne 0x4963b1
fld dword [edi + 0x1a]
fmul qword [0x5cf640]
fsubr qword [0x5d1018]
call fcn.00586d50
push eax
push 0x52d
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea ecx, [esp + 0x84]
push ecx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea edx, [esp + 0x88]
push edx
mov ecx, esi
call fcn.00442790
mov eax, dword [edi + 0x32]
test eax, eax
jle 0x4963ee
push eax
push 0x542
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea eax, [esp + 0x84]
push eax
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea ecx, [esp + 0x88]
push ecx
mov ecx, esi
call fcn.00442790
mov edi, dword [edi + 0x32]
test edi, edi
jns 0x49642d
neg edi
push edi
push 0x543
mov ecx, 0x71c268
call fcn.004d3c70
push eax
lea edx, [esp + 0x84]
push edx
call ebp
add esp, 0xc
push 0
push 0
push 0x548fdf
lea eax, [esp + 0x88]
push eax
mov ecx, esi
call fcn.00442790
push 0
push 0
push 0xffffff
push 0x5d0a36
mov ecx, esi
call fcn.00442790
push 0
lea ecx, [esp + 0x40]
push ecx
push 0xffffb0
push 0x5d0a36
mov ecx, esi
call fcn.00442790
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 0x2f]
push 1
push 0xc8d7aa
push eax
push esi
mov ecx, 0x71ae70
call fcn.004aa7a0
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe8], 1
call fcn.00430650
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe8], 0
call fcn.00430650
lea ecx, [esp + 0x1c]
mov dword [esp + 0xe8], 0xffffffff
call fcn.00430650
mov ecx, dword [esp + 0xe0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0xcc]
xor ecx, esp
call fcn.00586d40
add esp, 0xdc
ret 4