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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x21
push 0
push 0
dec ecx
jne 0x47dd7c
push ebx
push esi
push edi
mov edi, eax
xor eax, eax
push ebp
push 0x48150f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [0x4fd684], 1
mov dword [0x4ad804], 0xa
mov dword [0x4ad80c], 0xdc
mov dword [0x4ad808], 0x32
mov eax, edi
call fcn.0043ffa8
test eax, eax
jns 0x47ddc9
add eax, 3
sar eax, 2
mov dword [0x4ad810], eax
cmp dword [0x496c14], 0
jle 0x4814e4
cmp byte [0x4fd686], 0
jne 0x47de47
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dcdc
mov eax, dword [0x496c10]
call fcn.0043ffa8
push eax
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [0x496c10]
call fcn.0043ff64
mov ecx, eax
mov edx, 0xc8
xor eax, eax
call fcn.0041322c
lea eax, [ebp - 0xcc]
push eax
mov eax, edi
call fcn.00459eac
pop edx
call fcn.0041df64
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad804]
dec edx
mov ecx, dword [0x4ad80c]
call fcn.0041e03c
mov eax, edi
call fcn.0043ffa8
push eax
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad804]
dec edx
pop ecx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
xor edx, edx
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
pop edx
call fcn.0041dfdc
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
pop edx
call fcn.0041e03c
mov eax, edi
call fcn.0043ffa8
push eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
pop edx
pop ecx
call fcn.0041dfdc
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
push eax
mov eax, edi
call fcn.00459eac
xor edx, edx
pop ecx
call fcn.0041e03c
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
push eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
pop edx
pop ecx
call fcn.0041dfdc
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
sub eax, dword [0x4ad80c]
mov dword [0x4ad814], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov dl, 2
call fcn.0041d9bc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0x80
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
push eax
fild dword [0x4ad814]
fdiv dword [0x481520]
call fcn.0040296c
mov ecx, eax
add ecx, dword [0x4ad80c]
mov edx, dword [0x4ad804]
dec edx
pop eax
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
push eax
fild dword [0x4ad814]
fdiv dword [0x481520]
call fcn.0040296c
mov ecx, eax
add ecx, dword [0x4ad80c]
pop eax
pop edx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
push eax
mov eax, dword [0x4ad814]
add eax, eax
mov dword [ebp - 0xd0], eax
fild dword [ebp - 0xd0]
fdiv dword [0x481520]
call fcn.0040296c
mov ecx, eax
add ecx, dword [0x4ad80c]
mov edx, dword [0x4ad804]
dec edx
pop eax
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
push eax
mov eax, dword [0x4ad814]
add eax, eax
mov dword [ebp - 0xd0], eax
fild dword [ebp - 0xd0]
fdiv dword [0x481520]
call fcn.0040296c
mov ecx, eax
add ecx, dword [0x4ad80c]
pop eax
pop edx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.0041d9bc
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
sub eax, 0x32
cdq
idiv dword [0x4ad818]
mov edx, dword [0x496c14]
sub edx, eax
mov dword [0x4b2660], edx
cmp dword [0x4b2660], 0
jge 0x47e0b0
xor eax, eax
mov dword [0x4b2660], eax
mov esi, dword [0x4b2660]
inc esi
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c54]
mov dword [ebp - 0x6c], eax
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c58]
mov dword [ebp - 0x70], eax
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c60]
mov dword [ebp - 0x7c], eax
jmp 0x47e1c5
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c54]
fcomp dword [ebp - 0x6c]
fnstsw ax
sahf
jbe 0x47e145
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c54]
mov dword [ebp - 0x6c], eax
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c60]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x47e145
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c64]
mov eax, esi
shl eax, 2
fdiv dword [eax*8 + 0x496c60]
fdiv dword [0x481528]
fstp dword [ebp - 0x14]
wait
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c58]
fcomp dword [ebp - 0x70]
fnstsw ax
sahf
jae 0x47e1a1
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c58]
mov dword [ebp - 0x70], eax
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c60]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x47e1a1
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c64]
mov eax, esi
shl eax, 2
fdiv dword [eax*8 + 0x496c60]
fdiv dword [0x481528]
fstp dword [ebp - 0x18]
wait
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c60]
fcomp dword [ebp - 0x7c]
fnstsw ax
sahf
jbe 0x47e1c4
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c60]
mov dword [ebp - 0x7c], eax
inc esi
cmp esi, dword [0x496c14]
jl 0x47e0e9
cmp esi, dword [0x496c14]
je 0x47e0e9
mov eax, dword [ebp - 0x70]
mov dword [0x4fd67c], eax
mov eax, dword [ebp - 0x6c]
mov dword [0x4fd680], eax
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x70]
call fcn.0040296c
add eax, 1
adc edx, 0
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], edx
fild qword [ebp - 0xd8]
fstp dword [ebp - 0x80]
wait
mov esi, 0x64
mov dword [ebp - 0xb0], 0x4fd694
mov eax, dword [ebp - 0xb0]
xor edx, edx
mov dword [eax], edx
add dword [ebp - 0xb0], 4
dec esi
jne 0x47e223
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0xff
call fcn.0041d3f4
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0xb
call fcn.0041d694
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0x481534
call fcn.0041d61c
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dcdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
lea eax, [ebp - 0x50]
push eax
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x70]
fadd dword [ebp - 0x70]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481544
call fcn.00409604
mov eax, dword [ebp - 0x50]
push eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
add eax, 2
push eax
mov eax, edi
call fcn.00459eac
push eax
fild dword [0x4ad80c]
call fcn.0040296c
mov ecx, eax
sub ecx, 9
pop eax
pop edx
call fcn.0041e158
lea eax, [ebp - 0x50]
push eax
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x70]
fmul dword [0x48154c]
fdiv dword [0x481520]
fadd dword [ebp - 0x70]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481544
call fcn.00409604
mov eax, dword [ebp - 0x50]
push eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
add eax, 2
push eax
mov eax, edi
call fcn.00459eac
push eax
fild dword [0x4ad814]
fdiv dword [0x481520]
fild dword [0x4ad80c]
faddp st(1)
call fcn.0040296c
mov ecx, eax
sub ecx, 9
pop eax
pop edx
call fcn.0041e158
lea eax, [ebp - 0x50]
push eax
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x70]
fdiv dword [0x481520]
fadd dword [ebp - 0x70]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481544
call fcn.00409604
mov eax, dword [ebp - 0x50]
push eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
add eax, 2
push eax
mov eax, edi
call fcn.00459eac
push eax
mov eax, dword [0x4ad814]
add eax, eax
mov dword [ebp - 0xd0], eax
fild dword [ebp - 0xd0]
fdiv dword [0x481520]
fild dword [0x4ad80c]
faddp st(1)
call fcn.0040296c
mov ecx, eax
sub ecx, 9
pop eax
pop edx
call fcn.0041e158
lea eax, [ebp - 0x50]
push eax
fld dword [ebp - 0x70]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481544
call fcn.00409604
mov eax, dword [ebp - 0x50]
push eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
add eax, 2
push eax
mov eax, edi
call fcn.00459eac
push eax
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
mov dword [ebp - 0xd0], eax
fild dword [ebp - 0xd0]
call fcn.0040296c
mov ecx, eax
sub ecx, 9
pop eax
pop edx
call fcn.0041e158
cmp dword [0x496c14], 0x2f8
jge 0x47e6bd
cmp dword [0x4b2650], 0
jne 0x47e6bd
mov dword [ebp - 0x44], 1
fild dword [0x496c6c]
fdiv dword [0x481550]
fadd dword [0x481554]
fstp qword [ebp - 0x68]
wait
push dword [ebp - 0x64]
push dword [ebp - 0x68]
lea ecx, [ebp - 0x5a]
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x56]
call fcn.0040a22c
inc word [ebp - 0x58]
cmp word [ebp - 0x58], 0xc
jbe 0x47e506
inc word [ebp - 0x56]
mov word [ebp - 0x58], 1
mov ax, word [ebp - 0x58]
mov word [ebp - 0x5c], ax
mov ax, word [ebp - 0x5a]
mov word [ebp - 0x5e], ax
cmp word [ebp - 0x5c], 2
jne 0x47e52e
cmp word [ebp - 0x5e], 0x1c
jbe 0x47e52e
mov word [ebp - 0x5e], 1
inc word [ebp - 0x5c]
cmp word [ebp - 0x5c], 4
je 0x47e54a
cmp word [ebp - 0x5c], 6
je 0x47e54a
cmp word [ebp - 0x5c], 9
je 0x47e54a
cmp word [ebp - 0x5c], 0xb
jne 0x47e55b
cmp word [ebp - 0x5e], 0x1f
jne 0x47e55b
mov word [ebp - 0x5e], 1
inc word [ebp - 0x5c]
cmp word [ebp - 0x5c], 0xc
jbe 0x47e56c
inc word [ebp - 0x56]
mov word [ebp - 0x5c], 1
mov cx, word [ebp - 0x5e]
mov dx, word [ebp - 0x5c]
mov ax, word [ebp - 0x56]
call fcn.0040a0b0
fstp qword [ebp - 0x68]
wait
fld qword [ebp - 0x68]
fsub dword [0x481554]
fmul dword [0x481550]
fstp qword [ebp - 0x68]
wait
mov eax, dword [0x496c14]
test eax, eax
jle 0x47e6bd
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x496c6c
mov eax, dword [ebp - 0xb0]
fild dword [eax]
fcomp qword [ebp - 0x68]
fnstsw ax
sahf
je 0x47e5d5
mov eax, dword [ebp - 0xb0]
fild dword [eax]
fcomp qword [ebp - 0x68]
fnstsw ax
sahf
jbe 0x47e6aa
mov eax, dword [ebp - 0xb0]
mov word [eax + 0x1c], 0x37
mov eax, dword [ebp - 0xb0]
mov dx, word [ebp - 0x44]
mov word [eax + 0x1e], dx
inc dword [ebp - 0x44]
inc word [ebp - 0x58]
cmp word [ebp - 0x58], 0xc
jbe 0x47e607
inc word [ebp - 0x56]
mov word [ebp - 0x58], 1
mov ax, word [ebp - 0x58]
mov word [ebp - 0x5c], ax
mov ax, word [ebp - 0x5a]
mov word [ebp - 0x5e], ax
cmp word [ebp - 0x5c], 2
jne 0x47e62f
cmp word [ebp - 0x5e], 0x1c
jbe 0x47e62f
mov word [ebp - 0x5e], 1
inc word [ebp - 0x5c]
cmp word [ebp - 0x5c], 4
je 0x47e64b
cmp word [ebp - 0x5c], 6
je 0x47e64b
cmp word [ebp - 0x5c], 9
je 0x47e64b
cmp word [ebp - 0x5c], 0xb
jne 0x47e65c
cmp word [ebp - 0x5e], 0x1f
jne 0x47e65c
mov word [ebp - 0x5e], 1
inc word [ebp - 0x5c]
cmp word [ebp - 0x5c], 0xc
jbe 0x47e66d
inc word [ebp - 0x56]
mov word [ebp - 0x5c], 1
mov cx, word [ebp - 0x5e]
mov dx, word [ebp - 0x5c]
mov ax, word [ebp - 0x56]
call fcn.0040a0b0
fstp qword [ebp - 0x68]
wait
mov cx, word [ebp - 0x5e]
mov dx, word [ebp - 0x5c]
mov ax, word [ebp - 0x56]
call fcn.0040a0b0
fstp qword [ebp - 0x68]
wait
fld qword [ebp - 0x68]
fsub dword [0x481554]
fmul dword [0x481550]
fstp qword [ebp - 0x68]
wait
add dword [ebp - 0xb0], 0x20
dec dword [ebp - 0xa8]
jne 0x47e5b1
mov eax, dword [0x4ad814]
sub eax, 0xa
mov dword [ebp - 0x48], eax
fld dword [ebp - 0x6c]
fsub dword [ebp - 0x70]
fild dword [ebp - 0x48]
fdivp st(1)
fstp dword [ebp - 0x74]
wait
fild dword [0x4ad810]
fdivr dword [ebp - 0x7c]
fstp dword [ebp - 0x78]
wait
fld dword [ebp - 0x78]
fcomp dword [0x481558]
fnstsw ax
sahf
jae 0x47e6f9
mov dword [ebp - 0x78], 0x3f800000
mov eax, dword [0x4ad804]
sub eax, dword [0x4ad818]
mov dword [ebp - 0x1c], eax
mov esi, dword [0x4b2660]
inc esi
jmp 0x47eca8
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c50]
mov dword [ebp - 4], eax
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c5c]
mov dword [ebp - 8], eax
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c54]
mov dword [ebp - 0xc], eax
mov eax, esi
shl eax, 2
mov eax, dword [eax*8 + 0x496c58]
mov dword [ebp - 0x10], eax
mov eax, dword [0x4ad818]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [0x4ad818]
dec eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xd0], eax
fild dword [ebp - 0xd0]
fdiv dword [0x48154c]
call fcn.0040296c
mov ebx, eax
mov dword [ebp - 0x30], ebx
mov eax, esi
shl eax, 2
cmp word [eax*8 + 0x496c68], 0x37
jne 0x47e82d
mov dword [ebp - 0x40], ebx
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
sub eax, 0x32
push eax
mov eax, edi
call fcn.00459eac
mov edx, ebx
pop ecx
call fcn.0041e03c
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
push eax
mov eax, edi
call fcn.00459eac
mov edx, ebx
pop ecx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0xffff00
call fcn.0041dbc0
lea edx, [ebp - 0xe8]
mov eax, esi
shl eax, 2
movzx eax, word [eax*8 + 0x496c6a]
call fcn.0040886c
mov eax, dword [ebp - 0xe8]
push eax
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
sub eax, 0x32
push eax
mov eax, edi
call fcn.00459eac
mov edx, ebx
pop ecx
call fcn.0041e158
fld dword [ebp - 8]
fcomp dword [ebp - 4]
fnstsw ax
sahf
jae 0x47ea61
cmp byte [0x4fd686], 0
je 0x47e86f
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0x808080
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0x808080
call fcn.0041dbc0
jmp 0x47e897
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff00
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0xffff00
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dcdc
fld dword [ebp - 0xc]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x2c], edx
fld dword [ebp - 4]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 8]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x28], edx
fld dword [ebp - 0x10]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x34], edx
mov eax, edi
call fcn.0043ffa8
push eax
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c60]
fdiv dword [ebp - 0x78]
call fcn.0040296c
pop edx
sub edx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jne 0x47e95d
inc dword [ebp - 0x28]
fld dword [ebp - 0xc]
fcomp dword [ebp - 4]
fnstsw ax
sahf
jne 0x47e96e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
fld dword [ebp - 0x10]
fcomp dword [ebp - 8]
fnstsw ax
sahf
jne 0x47e97f
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
fld dword [ebp - 0xc]
fcomp dword [ebp - 4]
fnstsw ax
sahf
je 0x47e995
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x2c]
jne 0x47e995
dec dword [ebp - 0x2c]
fld dword [ebp - 0x10]
fcomp dword [ebp - 8]
fnstsw ax
sahf
je 0x47e9ab
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x34]
jne 0x47e9ab
inc dword [ebp - 0x34]
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x2c]
mov edx, ebx
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, ebx
call fcn.0041dfdc
mov eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
call fcn.0041322c
lea eax, [ebp - 0xcc]
push eax
mov eax, edi
call fcn.00459eac
pop edx
call fcn.0041df64
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
call fcn.0041dfdc
cmp byte [0x4fd686], 0
jne 0x47eca7
mov eax, edi
call fcn.0043ffa8
push eax
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
call fcn.0041322c
lea eax, [ebp - 0xcc]
push eax
mov eax, edi
call fcn.00459eac
pop edx
call fcn.0041df64
jmp 0x47eca7
cmp byte [0x4fd686], 0
je 0x47ea94
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0xffffff
call fcn.0041dbc0
jmp 0x47eabc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0xff
call fcn.0041dbc0
dec dword [ebp - 0x20]
fld dword [ebp - 0xc]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x2c], edx
fld dword [ebp - 8]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 4]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x28], edx
fld dword [ebp - 0x10]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x34], edx
mov eax, edi
call fcn.0043ffa8
push eax
mov eax, esi
shl eax, 2
fld dword [eax*8 + 0x496c60]
fdiv dword [ebp - 0x78]
call fcn.0040296c
pop edx
sub edx, eax
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jne 0x47eb7f
fld dword [ebp - 8]
fcomp dword [ebp - 4]
fnstsw ax
sahf
je 0x47eb7f
inc dword [ebp - 0x28]
fld dword [ebp - 0x10]
fcomp dword [ebp - 4]
fnstsw ax
sahf
jne 0x47eb90
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x34], eax
fld dword [ebp - 0xc]
fcomp dword [ebp - 8]
fnstsw ax
sahf
jne 0x47eba1
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
fld dword [ebp - 0x10]
fcomp dword [ebp - 4]
fnstsw ax
sahf
je 0x47ebb7
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x34]
jne 0x47ebb7
inc dword [ebp - 0x34]
fld dword [ebp - 0xc]
fcomp dword [ebp - 8]
fnstsw ax
sahf
je 0x47ebcd
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x2c]
jne 0x47ebcd
dec dword [ebp - 0x2c]
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x2c]
mov edx, ebx
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, ebx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x30]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
call fcn.0041dfdc
cmp byte [0x4fd686], 0
jne 0x47eca7
mov eax, edi
call fcn.0043ffa8
push eax
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
call fcn.0041322c
lea eax, [ebp - 0xcc]
push eax
mov eax, edi
call fcn.00459eac
pop edx
call fcn.0041df64
inc esi
cmp esi, dword [0x496c14]
jl 0x47e713
cmp esi, dword [0x496c14]
je 0x47e713
cmp dword [0x496c14], 0x2f8
jge 0x47ed6f
cmp dword [0x4b2650], 0
jne 0x47ed6f
imul ebx, dword [0x4ad818], 0x16
add ebx, dword [ebp - 0x40]
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
sub eax, 0x96
push eax
mov eax, edi
call fcn.00459eac
mov edx, ebx
pop ecx
call fcn.0041e03c
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
push eax
mov eax, edi
call fcn.00459eac
mov edx, ebx
pop ecx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0xffff00
call fcn.0041dbc0
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 0x44]
call fcn.0040886c
mov eax, dword [ebp - 0xec]
push eax
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
sub eax, 0x32
push eax
mov eax, edi
call fcn.00459eac
mov edx, ebx
pop ecx
call fcn.0041e158
mov eax, dword [0x4b2658]
dec eax
je 0x47ed82
dec eax
je 0x47ed8c
dec eax
je 0x47ed96
dec eax
je 0x47eda0
jmp 0x47edaa
mov eax, dword [0x4ad7f4]
mov dword [ebp - 0x4c], eax
jmp 0x47edb2
mov eax, dword [0x4ad7f8]
mov dword [ebp - 0x4c], eax
jmp 0x47edb2
mov eax, dword [0x4ad7fc]
mov dword [ebp - 0x4c], eax
jmp 0x47edb2
mov eax, dword [0x4ad800]
mov dword [ebp - 0x4c], eax
jmp 0x47edb2
mov eax, dword [0x4ad7f4]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x496c14]
sub eax, 2
jl 0x47ef5c
inc eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x496c9c
mov ebx, 0x4a69d8
mov eax, dword [ebp - 0xb0]
fld dword [eax]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x47ee09
mov eax, dword [ebp - 0xb0]
fld dword [eax]
mov eax, dword [ebp - 0xb0]
fsub dword [eax - 0x20]
mov eax, dword [ebp - 0xb0]
fdiv dword [eax]
fstp dword [ebp - 0x84]
wait
mov eax, dword [ebp - 0x4c]
test eax, eax
jl 0x47ef46
inc eax
mov dword [ebp - 0xac], eax
mov esi, 0x4a2b44
mov dword [ebp - 0xb4], 0x4a4a84
mov dword [ebp - 0xb8], 0x4a8904
mov dword [ebp - 0xbc], 0x4aa844
mov eax, dword [0x4b2658]
dec eax
je 0x47ee54
dec eax
je 0x47ee76
dec eax
je 0x47eea4
dec eax
je 0x47eecb
jmp 0x47eef2
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax - 0x10]
cmp eax, dword [esi]
jne 0x47ef22
fld dword [ebp - 0x84]
fsub dword [esi + 4]
fstp dword [ebx]
wait
jmp 0x47ef46
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax - 0x10]
mov ecx, dword [ebp - 0xb4]
cmp eax, dword [ecx]
jne 0x47ef22
fld dword [ebp - 0x84]
mov eax, dword [ebp - 0xb4]
fsub dword [eax + 4]
fstp dword [ebx]
wait
jmp 0x47ef46
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax - 0x10]
mov ecx, dword [ebp - 0xb8]
cmp eax, dword [ecx]
jne 0x47ef22
fld dword [ebp - 0x84]
mov eax, dword [ebp - 0xb8]
fsub dword [eax + 4]
fstp dword [ebx]
wait
jmp 0x47ef46
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax - 0x10]
mov ecx, dword [ebp - 0xbc]
cmp eax, dword [ecx]
jne 0x47ef22
fld dword [ebp - 0x84]
mov eax, dword [ebp - 0xbc]
fsub dword [eax + 4]
fstp dword [ebx]
wait
jmp 0x47ef46
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax - 0x10]
cmp eax, dword [esi]
jne 0x47ef0d
fld dword [ebp - 0x84]
fsub dword [esi + 4]
fstp dword [ebx]
wait
jmp 0x47ef46
push 0
mov cx, word [0x48155c]
mov dl, 2
mov eax, 0x481568
call fcn.00429c84
add dword [ebp - 0xbc], 8
add dword [ebp - 0xb8], 8
add dword [ebp - 0xb4], 8
add esi, 8
dec dword [ebp - 0xac]
jne 0x47ee3e
add ebx, 8
add dword [ebp - 0xb0], 0x20
dec dword [ebp - 0xa8]
jne 0x47edd6
mov eax, dword [0x496c14]
sub eax, 2
jl 0x47ef8e
inc eax
mov dword [ebp - 0xa8], eax
mov ebx, 0x4a69d8
fld dword [ebx]
fadd dword [ebx - 8]
fadd dword [ebx - 0x10]
fdiv dword [0x481520]
fstp dword [ebx]
wait
add ebx, 8
dec dword [ebp - 0xa8]
jne 0x47ef72
cmp dword [0x496c14], 2
jl 0x47f0a6
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov esi, dword [0x4b2660]
add esi, 2
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f0a6
inc eax
mov dword [ebp - 0xa8], eax
lea ebx, [esi*8 + 0x4a69c8]
cmp dword [0x4b2650], 0
jle 0x47f013
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
push eax
fld dword [ebx]
fmul dword [0x48158c]
call fcn.0040296c
pop edx
sub edx, eax
mov dword [ebp - 0x24], edx
jmp 0x47f034
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
push eax
fld dword [ebx]
fmul dword [0x481590]
call fcn.0040296c
pop edx
sub edx, eax
mov dword [ebp - 0x24], edx
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f055
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 2
cmp esi, eax
jne 0x47f078
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 2
cmp esi, eax
jle 0x47f096
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
inc esi
add ebx, 8
dec dword [ebp - 0xa8]
jne 0x47efe7
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 3
call fcn.0041d9ec
cmp dword [0x496c14], 5
jl 0x47f219
cmp byte [0x4fd686], 0
jne 0x47f219
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f219
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c60]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 5
cmp esi, eax
jl 0x47f194
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
fld dword [ebp - 0x8c]
fdiv dword [0x481594]
fstp dword [ebp - 0x8c]
wait
mov eax, edi
call fcn.0043ffa8
push eax
fld dword [ebp - 0x8c]
fdiv dword [ebp - 0x78]
call fcn.0040296c
pop edx
sub edx, eax
sub edx, 2
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0x80]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f1b5
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 5
cmp esi, eax
jne 0x47f1d8
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 5
cmp esi, eax
jle 0x47f1f6
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
cmp esi, dword [0x496c14]
jne 0x47f209
mov eax, dword [ebp - 0x8c]
mov dword [0x496c34], eax
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47f12b
cmp dword [0x496c14], 0xa
jl 0x47f364
cmp byte [0x4fd686], 0
jne 0x47f364
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff00ff
call fcn.0041d8e0
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f364
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c60]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 0xa
cmp esi, eax
jl 0x47f2df
fld dword [ebp - 0x84]
fdiv dword [0x481598]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fdiv dword [ebp - 0x78]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
add edx, dword [0x4ad810]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0x120]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f300
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0xa
cmp esi, eax
jne 0x47f323
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0xa
cmp esi, eax
jle 0x47f341
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
cmp esi, dword [0x496c14]
jne 0x47f354
mov eax, dword [ebp - 0x8c]
mov dword [0x496c38], eax
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47f276
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
xor eax, eax
mov dword [ebp - 0x14], eax
cmp dword [0x496c14], 5
jl 0x47f51e
cmp byte [0x4fd686], 0
jne 0x47f51e
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f51e
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 5
cmp esi, eax
jl 0x47f468
fld dword [ebp - 0x84]
fdiv dword [0x481594]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0x80]
fstp dword [ebp - 0x84]
wait
fld dword [ebp - 0x14]
fcomp dword [ebp - 0x8c]
fnstsw ax
sahf
jae 0x47f468
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x14], eax
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f489
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 5
cmp esi, eax
jne 0x47f4ac
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 5
cmp esi, eax
jle 0x47f4ca
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
mov eax, dword [0x496c14]
sub eax, 4
cmp esi, eax
jne 0x47f4e2
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
cmp esi, dword [0x496c14]
jne 0x47f50e
mov eax, dword [ebp - 0x8c]
mov dword [0x496c24], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x88]
fdiv dword [0x481594]
fstp dword [0x496c3c]
wait
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47f3ee
cmp dword [0x496c14], 0xa
jl 0x47f697
cmp byte [0x4fd686], 0
jne 0x47f697
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f697
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 0xa
cmp esi, eax
jl 0x47f5e1
fld dword [ebp - 0x84]
fdiv dword [0x481598]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0x120]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f602
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0xa
cmp esi, eax
jne 0x47f625
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0xa
cmp esi, eax
jle 0x47f643
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
mov eax, dword [0x496c14]
sub eax, 4
cmp esi, eax
jne 0x47f65b
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
cmp esi, dword [0x496c14]
jne 0x47f687
mov eax, dword [ebp - 0x8c]
mov dword [0x496c28], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x88]
fdiv dword [0x481594]
fstp dword [0x496c40]
wait
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47f57b
cmp dword [0x496c14], 0x1e
jl 0x47f810
cmp byte [0x4fd686], 0
jne 0x47f810
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff00ff
call fcn.0041d8e0
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f810
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 0x1e
cmp esi, eax
jl 0x47f75a
fld dword [ebp - 0x84]
fdiv dword [0x48159c]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0x3a0]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f77b
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x1e
cmp esi, eax
jne 0x47f79e
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0x1e
cmp esi, eax
jle 0x47f7bc
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
mov eax, dword [0x496c14]
sub eax, 4
cmp esi, eax
jne 0x47f7d4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
cmp esi, dword [0x496c14]
jne 0x47f800
mov eax, dword [ebp - 0x8c]
mov dword [0x496c2c], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x88]
fdiv dword [0x481594]
fstp dword [0x496c44]
wait
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47f6f4
cmp dword [0x496c14], 0x3c
jl 0x47f99d
cmp byte [0x4fd686], 0
jne 0x47f99d
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0x8000
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47f99d
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 0x3c
cmp esi, eax
jl 0x47f8e7
fld dword [ebp - 0x84]
fdiv dword [0x4815a0]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0x760]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47f908
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x3c
cmp esi, eax
jne 0x47f92b
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0x3c
cmp esi, eax
jle 0x47f949
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
mov eax, dword [0x496c14]
sub eax, 4
cmp esi, eax
jne 0x47f961
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x88], eax
cmp esi, dword [0x496c14]
jne 0x47f98d
mov eax, dword [ebp - 0x8c]
mov dword [0x496c30], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x88]
fdiv dword [0x481594]
fstp dword [0x496c48]
wait
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47f881
cmp dword [0x496c14], 0x3c
jl 0x47fb8b
cmp byte [0x4fd686], 0
jne 0x47fb8b
xor eax, eax
mov dword [ebp - 0x84], eax
xor eax, eax
mov dword [ebp - 0x88], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dbc0
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47fb8b
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x88]
fadd dword [ebx]
fstp dword [ebp - 0x88]
wait
mov eax, dword [0x4b2660]
add eax, 0x3c
cmp esi, eax
jl 0x47fa8d
fld dword [ebp - 0x88]
fdiv dword [0x4815a0]
fstp dword [ebp - 0x90]
wait
fld dword [ebp - 0x90]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x28], edx
fld dword [ebp - 0x88]
fsub dword [ebx - 0x760]
fstp dword [ebp - 0x88]
wait
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 0x78
cmp esi, eax
jl 0x47faf3
fld dword [ebp - 0x84]
fdiv dword [0x4815a4]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0xee0]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47fb14
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x78
cmp esi, eax
jle 0x47fb7b
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jle 0x47fb43
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
jmp 0x47fb57
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0x8000
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47fa27
cmp dword [0x496c14], 0x78
jl 0x47fcd4
cmp byte [0x4fd686], 0
jne 0x47fcd4
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47fcd4
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x84]
fadd dword [ebx]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x4b2660]
add eax, 0x78
cmp esi, eax
jl 0x47fc62
fld dword [ebp - 0x84]
fdiv dword [0x4815a4]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
fld dword [ebp - 0x84]
fsub dword [ebx - 0xee0]
fstp dword [ebp - 0x84]
wait
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x47fc83
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x78
cmp esi, eax
jne 0x47fca6
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0x78
cmp esi, eax
jle 0x47fcc4
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47fbfc
cmp dword [0x496c14], 0x1a
jl 0x480633
cmp byte [0x4fd686], 0
jne 0x480633
xor eax, eax
mov dword [ebp - 0xa4], eax
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x94], eax
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47fe47
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x94]
fmul dword [0x4815a8]
fdiv dword [0x4815ac]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815ac]
faddp st(1)
fstp dword [ebp - 0x94]
wait
fld dword [ebp - 0x98]
fmul dword [0x4815b0]
fdiv dword [0x4815b4]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815b4]
faddp st(1)
fstp dword [ebp - 0x98]
wait
fld dword [ebp - 0x94]
fsub dword [ebp - 0x98]
fstp dword [ebp - 0x9c]
wait
fld dword [ebp - 0xa0]
fmul dword [0x4815b8]
fdiv dword [0x481598]
fld dword [ebp - 0x9c]
fmul dword [0x48154c]
fdiv dword [0x481598]
faddp st(1)
fstp dword [ebp - 0xa0]
wait
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jl 0x47fe37
fld dword [ebp - 0xa0]
fabs
fcomp dword [ebp - 0xa4]
fnstsw ax
sahf
jbe 0x47fe37
fld dword [ebp - 0xa0]
fabs
fstp dword [ebp - 0xa4]
wait
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47fd77
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x94], eax
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x47ff98
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x94]
fmul dword [0x4815a8]
fdiv dword [0x4815ac]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815ac]
faddp st(1)
fstp dword [ebp - 0x94]
wait
fld dword [ebp - 0x98]
fmul dword [0x4815b0]
fdiv dword [0x4815b4]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815b4]
faddp st(1)
fstp dword [ebp - 0x98]
wait
fld dword [ebp - 0x94]
fsub dword [ebp - 0x98]
fstp dword [ebp - 0x9c]
wait
fld dword [ebp - 0xa0]
fmul dword [0x4815b8]
fdiv dword [0x481598]
fld dword [ebp - 0x9c]
fmul dword [0x48154c]
fdiv dword [0x481598]
faddp st(1)
fstp dword [ebp - 0xa0]
wait
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jl 0x47ff88
fld dword [ebp - 0x9c]
fabs
fcomp dword [ebp - 0xa4]
fnstsw ax
sahf
jbe 0x47ff88
fld dword [ebp - 0x9c]
fabs
fstp dword [ebp - 0xa4]
wait
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x47fec8
fld dword [0x48159c]
fdiv dword [ebp - 0xa4]
fstp dword [ebp - 0xa4]
wait
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x94], eax
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x4801a6
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x94]
fmul dword [0x4815a8]
fdiv dword [0x4815ac]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815ac]
faddp st(1)
fstp dword [ebp - 0x94]
wait
fld dword [ebp - 0x98]
fmul dword [0x4815b0]
fdiv dword [0x4815b4]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815b4]
faddp st(1)
fstp dword [ebp - 0x98]
wait
fld dword [ebp - 0x94]
fsub dword [ebp - 0x98]
fstp dword [ebp - 0x9c]
wait
fld dword [ebp - 0xa0]
fmul dword [0x4815b8]
fdiv dword [0x481598]
fld dword [ebp - 0x9c]
fmul dword [0x48154c]
fdiv dword [0x481598]
faddp st(1)
fstp dword [ebp - 0xa0]
wait
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jl 0x480134
fld dword [ebp - 0xa0]
fmul dword [ebp - 0xa4]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
add eax, 0x1e
cmp eax, dword [ebp - 0x24]
jge 0x480110
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
add eax, 0x1e
mov dword [ebp - 0x24], eax
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
sub eax, 0x1e
cmp eax, dword [ebp - 0x24]
jle 0x480134
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
sub eax, 0x1e
mov dword [ebp - 0x24], eax
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x480155
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jne 0x480178
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jle 0x480196
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x48002c
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x94], eax
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x4803a1
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x94]
fmul dword [0x4815a8]
fdiv dword [0x4815ac]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815ac]
faddp st(1)
fstp dword [ebp - 0x94]
wait
fld dword [ebp - 0x98]
fmul dword [0x4815b0]
fdiv dword [0x4815b4]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815b4]
faddp st(1)
fstp dword [ebp - 0x98]
wait
fld dword [ebp - 0x94]
fsub dword [ebp - 0x98]
fstp dword [ebp - 0x9c]
wait
fld dword [ebp - 0xa0]
fmul dword [0x4815b8]
fdiv dword [0x481598]
fld dword [ebp - 0x9c]
fmul dword [0x48154c]
fdiv dword [0x481598]
faddp st(1)
fstp dword [ebp - 0xa0]
wait
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jl 0x48032f
fld dword [ebp - 0x9c]
fmul dword [ebp - 0xa4]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
add eax, 0x1e
cmp eax, dword [ebp - 0x24]
jge 0x48030b
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
add eax, 0x1e
mov dword [ebp - 0x24], eax
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
sub eax, 0x1e
cmp eax, dword [ebp - 0x24]
jle 0x48032f
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
sub eax, 0x1e
mov dword [ebp - 0x24], eax
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x480350
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jne 0x480373
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jle 0x480391
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x480227
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x94], eax
mov eax, dword [0x4b2660]
shl eax, 2
mov eax, dword [eax*8 + 0x496c7c]
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xa0], eax
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x480633
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c5c]
fld dword [ebp - 0x94]
fmul dword [0x4815a8]
fdiv dword [0x4815ac]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815ac]
faddp st(1)
fstp dword [ebp - 0x94]
wait
fld dword [ebp - 0x98]
fmul dword [0x4815b0]
fdiv dword [0x4815b4]
fld dword [ebx]
fmul dword [0x48154c]
fdiv dword [0x4815b4]
faddp st(1)
fstp dword [ebp - 0x98]
wait
fld dword [ebp - 0x94]
fsub dword [ebp - 0x98]
fstp dword [ebp - 0x9c]
wait
fld dword [ebp - 0xa0]
fmul dword [0x4815b8]
fdiv dword [0x481598]
fld dword [ebp - 0x9c]
fmul dword [0x48154c]
fdiv dword [0x481598]
faddp st(1)
fstp dword [ebp - 0xa0]
wait
fld dword [ebp - 0x9c]
fsub dword [ebp - 0xa0]
fstp dword [ebp - 0x84]
wait
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
fld dword [ebp - 0x84]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x480502
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
jmp 0x480516
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0x8000
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jl 0x4805a6
fld dword [ebp - 0x84]
fmul dword [ebp - 0xa4]
fmul dword [0x48154c]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
add eax, 0x1e
cmp eax, dword [ebp - 0x24]
jge 0x480582
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
add eax, 0x1e
mov dword [ebp - 0x24], eax
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
sub eax, 0x1e
cmp eax, dword [ebp - 0x24]
jle 0x4805a6
mov eax, dword [0x4ad814]
add eax, dword [0x4ad80c]
sub eax, 0x1e
mov dword [ebp - 0x24], eax
mov eax, esi
sub eax, dword [0x4b2660]
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x4805c7
adc edx, 0
sub eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jne 0x4805ea
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, dword [0x4b2660]
add eax, 0x1a
cmp esi, eax
jle 0x480623
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad814]
add ecx, dword [0x4ad80c]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x480422
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov dl, 2
call fcn.0041d9bc
fld xword [0x4815bc]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x84]
wait
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x4ad804]
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
pop edx
call fcn.0041dfdc
fld xword [0x4815c8]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x84]
wait
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x4ad804]
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
pop edx
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
xor edx, edx
call fcn.0041d9bc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 2
call fcn.0041d9ec
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x48085b
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c60]
fld dword [ebx]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x48084b
fld dword [ebx + 4]
fdiv dword [ebx]
fdiv dword [0x481528]
fstp dword [ebp - 0x84]
wait
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
fld dword [ebp - 0x8c]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, esi
sub eax, dword [0x4b2660]
dec eax
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov dword [ebp - 0x1c], eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov edx, dword [ebp - 0x1c]
add edx, dword [0x4ad818]
dec edx
mov ecx, dword [ebp - 0x24]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x4807b4
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov eax, dword [0x496c14]
sub eax, dword [0x4b2660]
dec eax
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov dword [ebp - 0x1c], eax
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
add eax, 0x64
mov dword [ebp - 0x24], eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad804]
add edx, dword [0x4ad818]
dec edx
mov ecx, dword [ebp - 0x24]
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff00
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov esi, dword [0x4b2660]
inc esi
mov eax, dword [0x496c14]
sub eax, esi
jl 0x480a15
inc eax
mov dword [ebp - 0xa8], eax
mov eax, esi
shl eax, 2
lea ebx, [eax*8 + 0x496c60]
fld dword [ebx]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x480a05
fld dword [ebx + 4]
fdiv dword [ebx]
fstp dword [ebp - 0x84]
wait
fld dword [ebx - 0x20]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x480966
fld dword [ebx - 0x1c]
fdiv dword [ebx - 0x20]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x84]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x480998
fld dword [ebp - 0x84]
fsub dword [ebp - 0x8c]
fmul dword [0x4fd670]
fdiv dword [ebp - 0x84]
fdiv dword [ebx]
fstp dword [ebp - 0x8c]
wait
mov eax, edi
call fcn.0043ffa8
push eax
fld dword [ebp - 0x8c]
call fcn.0040296c
pop edx
sub edx, eax
sub edx, dword [0x4ad810]
add edx, 0x64
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [0x4ad814]
jge 0x4809cd
mov eax, dword [0x4ad814]
mov dword [ebp - 0x24], eax
mov eax, esi
sub eax, dword [0x4b2660]
dec eax
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov dword [ebp - 0x1c], eax
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x4809f9
adc edx, 0
add edx, dword [ebp - 0x1c]
dec edx
mov ecx, dword [ebp - 0x24]
call fcn.0041dfdc
inc esi
add ebx, 0x20
dec dword [ebp - 0xa8]
jne 0x48092e
fld dword [0x4fd674]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x48127e
cmp byte [0x4fd686], 0
jne 0x48127e
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov eax, dword [0x496c14]
sub eax, dword [0x4b2660]
dec eax
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov dword [ebp - 0x1c], eax
mov eax, edi
call fcn.0043ffa8
sub eax, dword [0x4ad810]
add eax, 0x64
mov dword [ebp - 0x24], eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad804]
add edx, dword [0x4ad818]
dec edx
mov ecx, dword [ebp - 0x24]
call fcn.0041dfdc
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 5
call fcn.0041d9ec
fld dword [0x4fd674]
fcomp dword [0x4815d4]
fnstsw ax
sahf
jb 0x480b09
fld dword [0x4815a4]
fmul dword [0x4fd674]
fstp dword [ebp - 0x88]
wait
jmp 0x480b51
fld dword [0x4fd674]
fldln2
fxch st(1)
fyl2x
fld xword [0x4815d8]
fmulp st(1)
fstp xword [ebp - 0xe4]
wait
fld xword [0x4815e4]
fldln2
fxch st(1)
fyl2x
fld xword [ebp - 0xe4]
fdivrp st(1)
fsubr dword [0x481520]
fmul dword [0x481528]
fmul dword [0x4fd674]
fstp dword [ebp - 0x88]
wait
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [0x496c14]
test eax, eax
jl 0x480ba7
inc eax
mov dword [ebp - 0xa8], eax
xor edx, edx
fld dword [ebp - 0x8c]
mov eax, dword [0x496c14]
sub eax, edx
shl eax, 2
fadd dword [eax*8 + 0x496c60]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fcomp dword [ebp - 0x88]
fnstsw ax
sahf
ja 0x480ba7
cmp edx, esi
jge 0x480ba7
inc edx
dec dword [ebp - 0xa8]
jne 0x480b6b
cmp edx, dword [0x496c14]
jge 0x480e9a
cmp edx, 0
jl 0x480c4f
mov dword [ebp - 0x4c], edx
mov eax, dword [0x496c14]
sub eax, dword [ebp - 0x4c]
shl eax, 2
fld dword [eax*8 + 0x496c64]
mov eax, dword [0x496c14]
sub eax, dword [ebp - 0x4c]
shl eax, 2
fdiv dword [eax*8 + 0x496c60]
fdiv dword [0x481528]
fsub dword [ebp - 0x70]
fmul dword [0x481528]
fdiv dword [ebp - 0x80]
call fcn.0040296c
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x63
jle 0x480c0a
mov dword [ebp - 0x3c], 0x63
cmp dword [ebp - 0x3c], 0
jge 0x480c15
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [0x496c14]
sub eax, dword [ebp - 0x4c]
shl eax, 2
fld dword [eax*8 + 0x496c60]
fdiv dword [ebp - 0x8c]
mov eax, dword [ebp - 0x3c]
fadd dword [eax*4 + 0x4fd694]
mov eax, dword [ebp - 0x3c]
fstp dword [eax*4 + 0x4fd694]
wait
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x480bbf
xor eax, eax
mov dword [ebp - 0x8c], eax
xor esi, esi
mov ebx, 0x4fd694
mov dword [ebp - 0xd0], esi
fild dword [ebp - 0xd0]
fmul dword [ebp - 0x80]
fdiv dword [0x481528]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, dword [0x4ad80c]
sub eax, 2
cmp eax, dword [ebp - 0x24]
jle 0x480cb6
fld dword [ebp - 0x8c]
fadd dword [ebx]
fstp dword [ebp - 0x8c]
wait
mov eax, dword [0x4ad80c]
sub eax, 2
mov dword [ebp - 0x24], eax
fld dword [ebx]
fmul dword [0x48158c]
call fcn.0040296c
mov dword [ebp - 0x1c], eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
pop edx
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
pop edx
call fcn.0041dfdc
inc esi
add ebx, 4
cmp esi, 0x64
jne 0x480c5e
fld dword [ebp - 0x8c]
fmul dword [0x48158c]
call fcn.0040296c
mov dword [ebp - 0x1c], eax
mov eax, dword [0x4ad80c]
sub eax, 2
mov dword [ebp - 0x24], eax
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
pop edx
call fcn.0041e03c
mov eax, edi
call fcn.0043ff64
sub eax, dword [0x4ad808]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
pop edx
call fcn.0041dfdc
mov eax, dword [0x496c14]
shl eax, 2
fld dword [eax*8 + 0x496c5c]
fsub dword [ebp - 0x70]
fmul dword [0x481528]
fdiv dword [ebp - 0x80]
call fcn.0040296c
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
jl 0x480dc8
inc eax
mov dword [ebp - 0xa8], eax
mov ebx, 0x4fd694
fld dword [ebp - 0x8c]
fadd dword [ebx]
fstp dword [ebp - 0x8c]
wait
add ebx, 4
dec dword [ebp - 0xa8]
jne 0x480dae
fld dword [ebp - 0x8c]
fmul dword [0x481528]
fstp dword [ebp - 0x8c]
wait
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
mov edx, 0x808080
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0xffff
call fcn.0041d3f4
push 0x4815f8
mov eax, edi
call fcn.0043ff64
sub eax, 0x2d
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
add ecx, 0xa
pop edx
call fcn.0041e158
lea eax, [ebp - 0xf0]
push eax
fld dword [ebp - 0x8c]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481608
call fcn.00409604
lea eax, [ebp - 0xf0]
mov edx, 0x481618
call fcn.004048e8
mov eax, dword [ebp - 0xf0]
push eax
mov eax, edi
call fcn.0043ff64
sub eax, 0x2d
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
add ecx, 0xa
pop edx
call fcn.0041e158
mov esi, dword [0x496c14]
mov eax, dword [0x4b2660]
inc eax
sub eax, esi
jg 0x48108f
dec eax
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [0x496c14]
test eax, eax
jl 0x480f0e
inc eax
mov dword [ebp - 0xac], eax
xor edx, edx
fld dword [ebp - 0x8c]
mov eax, esi
sub eax, edx
shl eax, 2
fadd dword [eax*8 + 0x496c60]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x88]
fdiv dword [0x48161c]
fcomp dword [ebp - 0x8c]
fnstsw ax
sahf
jb 0x480f0e
cmp edx, esi
jge 0x480f0e
inc edx
dec dword [ebp - 0xac]
jne 0x480ecf
cmp edx, esi
jge 0x481082
xor eax, eax
mov dword [ebp - 0x84], eax
cmp edx, 0
jl 0x480f60
mov dword [ebp - 0x4c], edx
mov eax, esi
sub eax, dword [ebp - 0x4c]
shl eax, 2
fld dword [eax*8 + 0x496c5c]
mov eax, esi
sub eax, dword [ebp - 0x4c]
shl eax, 2
fmul dword [eax*8 + 0x496c60]
fdiv dword [ebp - 0x8c]
fadd dword [ebp - 0x84]
fstp dword [ebp - 0x84]
wait
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x480f26
fld dword [ebp - 0x84]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [0x4ad80c]
jge 0x480f98
mov eax, dword [0x4ad80c]
mov dword [ebp - 0x24], eax
mov eax, esi
sub eax, dword [0x4b2660]
dec eax
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov dword [ebp - 0x1c], eax
cmp esi, dword [0x496c14]
jne 0x481062
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 3
call fcn.0041d9ec
lea eax, [ebp - 0xf4]
push eax
fld dword [ebp - 0x84]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481628
call fcn.00409604
mov eax, dword [ebp - 0xf4]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
add ecx, 4
mov edx, dword [ebp - 0x1c]
add edx, 0xa
call fcn.0041e158
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x481076
adc edx, 0
add edx, dword [ebp - 0x1c]
dec edx
mov ecx, dword [ebp - 0x24]
call fcn.0041dfdc
dec esi
inc dword [ebp - 0xa8]
jne 0x480eb5
mov esi, dword [0x496c14]
mov eax, dword [0x4b2660]
inc eax
sub eax, esi
jg 0x48127e
dec eax
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [0x496c14]
test eax, eax
jl 0x4810fd
inc eax
mov dword [ebp - 0xac], eax
xor edx, edx
fld dword [ebp - 0x8c]
mov eax, esi
sub eax, edx
shl eax, 2
fadd dword [eax*8 + 0x496c60]
fstp dword [ebp - 0x8c]
wait
fld dword [ebp - 0x8c]
fcomp dword [ebp - 0x88]
fnstsw ax
sahf
ja 0x4810fd
cmp edx, esi
jge 0x4810fd
inc edx
dec dword [ebp - 0xac]
jne 0x4810c4
cmp edx, esi
jge 0x481271
xor eax, eax
mov dword [ebp - 0x84], eax
cmp edx, 0
jl 0x48114f
mov dword [ebp - 0x4c], edx
mov eax, esi
sub eax, dword [ebp - 0x4c]
shl eax, 2
fld dword [eax*8 + 0x496c5c]
mov eax, esi
sub eax, dword [ebp - 0x4c]
shl eax, 2
fmul dword [eax*8 + 0x496c60]
fdiv dword [ebp - 0x8c]
fadd dword [ebp - 0x84]
fstp dword [ebp - 0x84]
wait
dec dword [ebp - 0x4c]
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x481115
fld dword [ebp - 0x84]
fsub dword [ebp - 0x70]
fdiv dword [ebp - 0x74]
call fcn.0040296c
mov edx, dword [0x4ad814]
sub edx, eax
sub edx, 2
add edx, dword [0x4ad80c]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
cmp eax, dword [0x4ad80c]
jge 0x481187
mov eax, dword [0x4ad80c]
mov dword [ebp - 0x24], eax
mov eax, esi
sub eax, dword [0x4b2660]
dec eax
imul dword [0x4ad818]
add eax, dword [0x4ad804]
mov dword [ebp - 0x1c], eax
cmp esi, dword [0x496c14]
jne 0x481251
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.0041d8e0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 5
call fcn.0041d9ec
lea eax, [ebp - 0xf8]
push eax
fld dword [ebp - 0x84]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481628
call fcn.00409604
mov eax, dword [ebp - 0xf8]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
add ecx, 0x14
mov edx, dword [ebp - 0x1c]
add edx, 0xa
call fcn.0041e158
mov eax, edi
call fcn.00459eac
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0041e03c
mov eax, edi
call fcn.00459eac
mov edx, dword [0x4ad818]
sar edx, 1
jns 0x481265
adc edx, 0
add edx, dword [ebp - 0x1c]
dec edx
mov ecx, dword [ebp - 0x24]
call fcn.0041dfdc
dec esi
inc dword [ebp - 0xa8]
jne 0x4810aa
cmp byte [0x4fd686], 0
jne 0x4814e4
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x10]
mov edx, 1
call fcn.0041d9ec
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0xff
call fcn.0041d3f4
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0x14]
xor edx, edx
call fcn.0041dbc0
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0xb
call fcn.0041d694
mov eax, edi
call fcn.00459eac
mov eax, dword [eax + 0xc]
mov edx, 0x481534
call fcn.0041d61c
lea eax, [ebp - 0x50]
mov edx, 0x496c18
call fcn.00404884
mov eax, dword [0x496c14]
shl eax, 2
fld dword [eax*8 + 0x496c5c]
mov eax, dword [0x496c14]
shl eax, 2
fsub dword [eax*8 + 0x496c3c]
fstp dword [ebp - 0x84]
wait
mov eax, dword [0x496c14]
shl eax, 2
fld dword [eax*8 + 0x496c3c]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x48135a
fld dword [0x481528]
fmul dword [ebp - 0x84]
mov eax, dword [0x496c14]
shl eax, 2
fdiv dword [eax*8 + 0x496c3c]
fstp dword [ebp - 0x84]
wait
push dword [ebp - 0x50]
lea ecx, [ebp - 0xfc]
mov edx, dword [ebp - 0x50]
mov eax, edi
call fcn.00478a38
push dword [ebp - 0xfc]
push 0x481638
lea eax, [ebp - 0x100]
push eax
mov eax, dword [0x496c14]
shl eax, 2
fld dword [eax*8 + 0x496c5c]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481644
call fcn.00409604
push dword [ebp - 0x100]
push 0x481654
lea eax, [ebp - 0x50]
mov edx, 5
call fcn.004049a0
push dword [ebp - 0x50]
lea eax, [ebp - 0x104]
push eax
fld dword [ebp - 0x84]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481644
call fcn.00409604
push dword [ebp - 0x104]
push 0x481618
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.004049a0
fld dword [0x4fd674]
fcomp dword [0x481524]
fnstsw ax
sahf
jbe 0x481453
mov eax, dword [0x496c14]
shl eax, 2
fld dword [eax*8 + 0x496c60]
fdiv dword [0x4fd674]
fstp dword [ebp - 0x84]
wait
push dword [ebp - 0x50]
lea eax, [ebp - 0x108]
push eax
fld dword [ebp - 0x84]
fstp xword [ebp - 0xe4]
wait
lea eax, [ebp - 0xe4]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0xd4], 3
lea edx, [ebp - 0xd8]
xor ecx, ecx
mov eax, 0x481660
call fcn.00409604
push dword [ebp - 0x108]
push 0x481618
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.004049a0
push 0x481670
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
sub ecx, 0x14
mov edx, 0x78
call fcn.0041e158
mov eax, dword [ebp - 0x50]
push eax
mov eax, edi
call fcn.00459eac
mov ecx, dword [0x4ad80c]
sub ecx, 0x14
mov edx, 0x78
call fcn.0041e158
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x481516
lea eax, [ebp - 0x108]
mov edx, 9
call fcn.00404644
lea eax, [ebp - 0x54]
mov edx, 2
call fcn.00404644
ret