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

Disassembly:
push 0xffffffffffffffff
push 0x5a3ff4
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x6e50b4]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebp
push esi
push edi
mov eax, dword [0x6e50b4]
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 0x49776b
lea ecx, [esp + 0x1c]
call fcn.0042f0f0
push 0
lea eax, [esp + 0x20]
push eax
push 0xd4
mov ecx, 0x6f42b0
mov dword [esp + 0xf4], 0
call fcn.004346c0
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.0042f0f0
push 0
lea edx, [esp + 0x60]
push edx
push 0x3f
mov ecx, 0x6f42b0
mov byte [esp + 0xf4], 1
call fcn.004346c0
push 0x1e1e1e
lea eax, [esp + 0x60]
push eax
push 0xffffffffffffffff
push 0x5b1b0b
mov ecx, esi
call fcn.004414e0
lea ecx, [esp + 0x3c]
mov dword [esi + 0x170], 1
call fcn.0042f0f0
push 0
lea ecx, [esp + 0x40]
push ecx
push 0xd5
mov ecx, 0x6f42b0
mov byte [esp + 0xf4], 2
call fcn.004346c0
lea eax, [esi + 0x194]
test eax, eax
je 0x496762
push eax
mov ecx, esi
call fcn.004414a0
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [edi + 0x1e]
push edx
lea eax, [esp + 0xa0]
push 0x5b40b0
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 0x4967a2
push 0xffffff
lea ecx, [esp + 0xa8]
push ecx
jmp 0x4967af
push 0xcc92f8
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00441480
push 0
push 0
push 0xffffff
push 0x5b1b0b
mov ecx, esi
call fcn.00441480
mov eax, dword [esi + 0x538]
cmp word [eax + 0x3b], 8
mov ecx, dword [0x6f48ac]
jne 0x4967ec
call fcn.004a7120
movzx ecx, ax
mov dword [esp + 0x10], ecx
jmp 0x4967f8
call fcn.004a70d0
movzx edx, ax
mov dword [esp + 0x10], edx
movzx eax, word [edi + 0x3d]
dec eax
cmp eax, 5
ja case.default.0x496806
jmp dword [eax*4 + 0x497794]
push 0x959
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea eax, [esp + 0xa4]
push str._s__s
push eax
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0xa8]
push ecx
jmp 0x4968fe
push 0x95a
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea edx, [esp + 0xa4]
push str._s__s
push edx
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x4968fe
push 0x95b
jmp 0x4968bd
push 0x95c
jmp 0x496812
push 0x95d
jmp 0x49685d
push 0x95e
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea ecx, [esp + 0xa4]
push str._s__s
push ecx
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00441480
movzx eax, word [edi + 0xc7]
cmp eax, 7
ja case.0x496915.6
jmp dword [eax*4 + 0x4977ac]
push 0x95f
jmp 0x4969d6
push 0x960
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea edx, [esp + 0xa4]
push str._s__s
push edx
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x496a17
push 0x961
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea ecx, [esp + 0xa4]
push str._s__s
push ecx
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
jmp 0x496a17
push 0x962
jmp 0x4969d6
push 0x963
jmp 0x49692b
push 0x964
jmp 0x496976
push 0x965
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea eax, [esp + 0xa4]
push str._s__s
push eax
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.00441480
movzx eax, word [edi + 0x3b]
sub eax, 3
je 0x496a76
dec eax
jne 0x496ac3
push 0x966
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea edx, [esp + 0xa4]
push str._s__s
push edx
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea eax, [esp + 0xa8]
push eax
jmp 0x496abc
push 0x967
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea ecx, [esp + 0xa4]
push str._s__s
push ecx
call fcn.00582c5f
add esp, 0x10
push 7
push 0
push 0xffffb0
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00441480
push 0x958
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
movzx eax, word [edi + 0x31]
push eax
push 0x956
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea ecx, [esp + 0xa8]
push str._s__d_s
push ecx
call ebp
mov edx, dword [0x6f48ac]
mov ax, word [edx + 0x43c]
add esp, 0x14
push 7
push 0
cmp ax, word [edi + 0x31]
jae 0x496b20
push 0xe61414
lea ecx, [esp + 0xa8]
push ecx
jmp 0x496b2d
push 0xffffff
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
call fcn.00441480
push 0
push 0
push 0xffffff
push 0x5b1b0b
mov ecx, esi
call fcn.00441480
push 0
lea eax, [esp + 0x40]
push eax
push 0xffffb0
push 0x5b1b0b
mov ecx, esi
call fcn.00441480
movzx ecx, word [edi + 0x31]
push ecx
push 0x972
mov ecx, 0x6f63d0
call fcn.004d54d0
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.0x496b91
jmp dword [eax*4 + 0x4977cc]
cmp word [esp + 0x10], 1
push 0
mov ecx, 0x6f63d0
push 0
jne 0x496bb8
push 0xffffff
push 0x1d1
jmp 0x496c96
push 0xe61414
push 0x1d1
jmp 0x496c96
cmp word [esp + 0x10], 2
push 0
mov ecx, 0x6f63d0
push 0
jne 0x496be7
push 0xffffff
push 0x1d2
jmp 0x496c96
push 0xe61414
push 0x1d2
jmp 0x496c96
cmp word [esp + 0x10], 3
push 0
mov ecx, 0x6f63d0
push 0
jne 0x496c16
push 0xffffff
push 0x1d3
jmp 0x496c96
push 0xe61414
push 0x1d3
jmp 0x496c96
cmp word [esp + 0x10], 4
push 0
mov ecx, 0x6f63d0
push 0
jne 0x496c3f
push 0xffffff
push 0x1d4
jmp 0x496c96
push 0xe61414
push 0x1d4
jmp 0x496c96
cmp word [esp + 0x10], 5
push 0
mov ecx, 0x6f63d0
push 0
jne 0x496c68
push 0xffffff
push 0x1d5
jmp 0x496c96
push 0xe61414
push 0x1d5
jmp 0x496c96
cmp word [esp + 0x10], 6
push 0
mov ecx, 0x6f63d0
push 0
jne 0x496c8c
push 0xffffff
jmp 0x496c91
push 0xe61414
push 0x1d6
call fcn.004d54d0
push eax
mov ecx, esi
call fcn.00441480
mov eax, dword [esi + 0x538]
cmp word [eax + 0x3b], 8
push 0
push 0
jne 0x496ce0
mov ecx, dword [0x6f48ac]
cmp dword [ecx + 0x404], 1
mov ecx, 0x6f63d0
jne 0x496cd4
push 0xffffff
push 0x677
jmp 0x496d05
push 0xe61414
push 0x677
jmp 0x496d05
mov edx, dword [0x6f48ac]
cmp dword [edx + 0x404], 1
mov ecx, 0x6f63d0
jne 0x496cfb
push 0xe61414
jmp 0x496d00
push 0xffffff
push 0x678
call fcn.004d54d0
push eax
mov ecx, esi
call fcn.00441480
cmp word [edi + 0x3b], 8
jne 0x496d60
movzx eax, word [edi + 0x3d]
test ax, ax
je 0x496d60
mov ecx, dword [0x6f48ac]
call fcn.004a70d0
mov ecx, dword [0x6f48ac]
mov di, ax
call fcn.004a7120
cmp di, ax
je 0x496d60
push 0
push 0
push 0xe61414
push 0x67c
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
mov ecx, esi
call fcn.00441480
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
movzx eax, al
cmp eax, 0xc
jge 0x496e36
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + eax*4 + 0x7f]
mov dword [esp + 0x10], edi
test edi, edi
je 0x496ee6
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
mov ecx, esi
cmp al, 0xc
jae 0x496e42
mov edx, dword [esi]
mov eax, dword [edx + 0xa0]
call eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
test eax, eax
jns 0x496dbe
fadd dword [0x5b1610]
fmul qword [0x5b1638]
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 0x496dfa
fld dword [esp + 0x10]
fcomp qword [0x5b7aa0]
fnstsw ax
test ah, 0x41
jne 0x496dfa
fld dword [0x5b7a9c]
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, 0x6f63d0
call fcn.004d54d0
push eax
lea edx, [esp + 0xac]
push edx
call fcn.00582c5f
add esp, 0x14
jmp 0x496e8d
or edi, 0xffffffff
mov dword [esp + 0x10], edi
jmp 0x496d8c
mov eax, dword [esi]
mov edx, dword [eax + 0x78]
call edx
movzx eax, ax
push eax
call fcn.004053d0
mov ecx, eax
call fcn.0053a6c0
test eax, eax
jne 0x496e8d
mov edx, dword [esi]
mov eax, dword [edx + 0xa8]
mov ecx, esi
call eax
movzx ecx, al
push ecx
push 0x195
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
lea edx, [esp + 0xa4]
push edx
call fcn.00582c5f
add esp, 0xc
push 0
push 0
push 0xe6e826
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call fcn.00441480
cmp dword [0x6d84bc], 0
je 0x496ee6
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.00441480
mov eax, dword [esi]
mov edx, dword [eax + 0xa8]
mov ecx, esi
call edx
test al, al
je 0x496f47
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, 0x6f63d0
call fcn.004d54d0
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.00441480
mov edx, dword [esi]
mov eax, dword [edx + 0xb8]
mov ecx, esi
call eax
test eax, eax
je 0x496f99
mov edx, dword [esi]
mov eax, dword [edx + 0xb8]
mov ecx, esi
call eax
push eax
push 0x246
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x86b]
test ax, ax
je 0x497058
push 0
push 0
push 0xe6e826
push 0x54f
mov ecx, 0x6f63d0
call fcn.004d54d0
push eax
mov ecx, esi
call fcn.00441480
test byte [0x6e67f8], 1
mov ecx, dword [esp + 0x14]
movzx edi, word [ecx + 0x86b]
jne 0x49700f
or dword [0x6e67f8], 1
mov ecx, 0x6e6688
mov byte [esp + 0xe8], 3
call fcn.0053be90
push 0x5af180
call fcn.0058287c
add esp, 4
mov byte [esp + 0xe8], 2
push edi
mov ecx, 0x6e6688
call fcn.004981b0
test eax, eax
je 0x497058
movzx edx, word [eax + 6]
push edx
push 0x550
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
test byte [0x6e67f8], 1
jne 0x49708f
or dword [0x6e67f8], 1
mov ecx, 0x6e6688
mov byte [esp + 0xe8], 4
call fcn.0053be90
push 0x5af180
call fcn.0058287c
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 [0x6e6768]
mov eax, dword [0x6e676c]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x4976ed
cmp dword [eax], ecx
je 0x4970c8
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4970b8
jmp 0x4976ed
mov edi, dword [eax + 4]
test edi, edi
je 0x4976ed
mov eax, dword [edi + 0x1e]
test eax, eax
jle 0x497110
push eax
push 0x524
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0x1e]
test eax, eax
jns 0x49714f
neg eax
push eax
push 0x528
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 5
jp 0x4971a5
fld dword [edi + 0x22]
fmul qword [0x5b1638]
fadd qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x525
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x22]
fnstsw ax
test ah, 0x41
jne 0x4971fb
fld dword [edi + 0x22]
fmul qword [0x5b1638]
fsubr qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x529
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 5
jp 0x497251
fld dword [edi + 0x26]
fmul qword [0x5b1638]
fadd qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x526
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x26]
fnstsw ax
test ah, 0x41
jne 0x4972a7
fld dword [edi + 0x26]
fmul qword [0x5b1638]
fsubr qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x52a
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fld dword [edi + 0x2a]
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4972f9
fld dword [edi + 0x2a]
fmul qword [0x5b1638]
call fcn.00582f70
push eax
push 0x6cc
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 5
jp 0x49734f
fld dword [edi + 0x2e]
fmul qword [0x5b1638]
fadd qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x527
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x2e]
fnstsw ax
test ah, 0x41
jne 0x4973a5
fld dword [edi + 0x2e]
fmul qword [0x5b1638]
fsubr qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x52b
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0xa]
test eax, eax
jle 0x4973e2
push eax
push 0x53c
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0xa]
test eax, eax
jns 0x497421
neg eax
push eax
push 0x53d
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0xe]
test eax, eax
jle 0x49745e
push eax
push 0x53e
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0xe]
test eax, eax
jns 0x49749d
neg eax
push eax
push 0x53f
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0x12]
test eax, eax
jle 0x4974da
push eax
push 0x540
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0x12]
test eax, eax
jns 0x497519
neg eax
push eax
push 0x541
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 5
jp 0x49756f
fld dword [edi + 0x16]
fmul qword [0x5b1638]
fadd qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x544
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x16]
fnstsw ax
test ah, 0x41
jne 0x4975c5
fld dword [edi + 0x16]
fmul qword [0x5b1638]
fsubr qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x545
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 5
jp 0x49761b
fld dword [edi + 0x1a]
fmul qword [0x5b1638]
fadd qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x52c
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
fldz
fcomp dword [edi + 0x1a]
fnstsw ax
test ah, 0x41
jne 0x497671
fld dword [edi + 0x1a]
fmul qword [0x5b1638]
fsubr qword [0x5b22d8]
call fcn.00582f70
push eax
push 0x52d
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov eax, dword [edi + 0x32]
test eax, eax
jle 0x4976ae
push eax
push 0x542
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
mov edi, dword [edi + 0x32]
test edi, edi
jns 0x4976ed
neg edi
push edi
push 0x543
mov ecx, 0x6f63d0
call fcn.004d54d0
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.00441480
push 0
push 0
push 0xffffff
push 0x5b1b0b
mov ecx, esi
call fcn.00441480
push 0
lea ecx, [esp + 0x40]
push ecx
push 0xffffb0
push 0x5b1b0b
mov ecx, esi
call fcn.00441480
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 0x2f]
push 1
push 0xc8d7aa
push eax
push esi
mov ecx, 0x6f54b8
call fcn.004ac440
lea ecx, [esp + 0x3c]
mov byte [esp + 0xe8], 1
call fcn.0042f100
lea ecx, [esp + 0x5c]
mov byte [esp + 0xe8], 0
call fcn.0042f100
lea ecx, [esp + 0x1c]
mov dword [esp + 0xe8], 0xffffffff
call fcn.0042f100
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.005825b3
add esp, 0xdc
ret 4