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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54a188
mov eax, dword fs:[0]
push eax
sub esp, 0x2ac
push esi
push edi
mov eax, dword [0x583008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x18], 0
jmp 0x493f92
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x18]
cmp edx, dword [ecx + 8]
jge 0x493fe5
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x18]
cmp dword [ecx + edx*4], 0
je 0x493fe3
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.004fdfef
add esp, 4
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [eax + ecx*4], 0
jmp 0x493f89
mov edx, dword [ebp - 0x268]
cmp dword [edx + 0x10], 0
je 0x494016
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x5c]
push edx
call fcn.004fdfef
add esp, 4
mov eax, dword [ebp - 0x268]
mov dword [eax + 0x10], 0
mov ecx, dword [ebp - 0x268]
cmp dword [ecx + 0x14], 0
je 0x494047
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.004fdfef
add esp, 4
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x14], 0
mov eax, dword [ebp - 0x268]
cmp dword [eax + 0x34], 0
je 0x494078
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
push eax
call fcn.004fdfef
add esp, 4
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0x34], 0
mov edx, dword [ebp - 0x268]
cmp dword [edx + 0xc], 0
je 0x4940a9
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.004fdfef
add esp, 4
mov eax, dword [ebp - 0x268]
mov dword [eax + 0xc], 0
mov ecx, dword [ebp - 0x268]
cmp dword [ecx + 0x24], 0
je 0x4940da
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004fdfef
add esp, 4
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x24], 0
mov eax, dword [ebp - 0x268]
cmp dword [eax + 0x28], 0
je 0x49410b
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x28]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.004fdfef
add esp, 4
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x268]
cmp dword [edx + 0x2c], 0
je 0x49413c
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x74]
push edx
call fcn.004fdfef
add esp, 4
mov eax, dword [ebp - 0x268]
mov dword [eax + 0x2c], 0
mov ecx, dword [ebp - 0x268]
cmp dword [ecx + 0x30], 0
je 0x49416d
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.004fdfef
add esp, 4
mov edx, dword [ebp - 0x268]
mov dword [edx + 0x30], 0
mov eax, dword [ebp - 0x268]
fldz
fstp qword [eax + 0xa8]
mov ecx, dword [ebp - 0x268]
fldz
fstp qword [ecx + 0xa0]
mov edx, dword [ebp - 0x268]
fldz
fstp qword [edx + 0x88]
mov eax, dword [ebp - 0x268]
fldz
fstp qword [eax + 0x80]
mov ecx, dword [ebp - 0x268]
fldz
fstp qword [ecx + 0x78]
mov edx, dword [ebp - 0x268]
fldz
fstp qword [edx + 0x70]
mov eax, dword [ebp - 0x268]
fldz
fstp qword [eax + 0x68]
mov ecx, dword [ebp - 0x268]
fldz
fstp qword [ecx + 0x60]
mov edx, dword [ebp - 0x268]
fldz
fstp qword [edx + 0x58]
mov eax, dword [ebp - 0x268]
fldz
fstp qword [eax + 0x50]
mov ecx, dword [ebp - 0x268]
fldz
fstp qword [ecx + 0x48]
mov edx, dword [ebp - 0x268]
fldz
fstp qword [edx + 0x40]
mov ecx, dword [ebp + 8]
sub ecx, 1
shl ecx, 4
add ecx, dword [ebp + 0xc]
call fcn.004d3330
mov esi, eax
mov ecx, dword [ebp + 0xc]
call fcn.004d3330
fld qword [eax]
fcomp qword [esi]
fnstsw ax
test ah, 0x41
jne 0x49422f
mov dword [ebp - 0x26c], 1
jmp 0x494239
mov dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x494254
mov ecx, dword [ebp - 0x268]
cmp dword [ecx + 0x3c], 0
jg 0x49426e
cmp dword [ebp - 0x30], 0
jne 0x494306
mov edx, dword [ebp - 0x268]
cmp dword [edx + 0x3c], 0
jge 0x494306
mov dword [ebp - 0x34], 0
jmp 0x494280
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x34], eax
jge 0x494306
mov ecx, dword [ebp + 8]
sub ecx, 1
sub ecx, dword [ebp - 0x34]
shl ecx, 4
add ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov dword [ebp - 0x44], edx
mov eax, dword [ecx + 4]
mov dword [ebp - 0x40], eax
mov edx, dword [ecx + 8]
mov dword [ebp - 0x3c], edx
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
shl ecx, 4
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
sub edx, 1
sub edx, dword [ebp - 0x34]
shl edx, 4
add edx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x34]
shl edx, 4
add edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
mov ecx, dword [ebp - 0x40]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x3c]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x38]
mov dword [edx + 0xc], ecx
jmp 0x494277
mov dword [ebp - 0x18], 1
jmp 0x494318
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
sub eax, 1
cmp dword [ebp - 0x18], eax
jge 0x49448b
mov ecx, dword [ebp - 0x18]
sub ecx, 1
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x8c]
push eax
call fcn.004d3e90
add esp, 0x14
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x18]
add edx, 1
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x9c]
push eax
call fcn.004d3e90
add esp, 0x14
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.004d4b20
add esp, 0x18
fstp qword [esp]
call fcn.0051c0ac
add esp, 8
fcomp qword [0x54eab0]
fnstsw ax
test ah, 5
jp 0x494486
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
jmp 0x49443c
mov edx, dword [ebp - 0x34]
add edx, 1
mov dword [ebp - 0x34], edx
mov eax, dword [ebp + 8]
sub eax, 1
cmp dword [ebp - 0x34], eax
jge 0x494474
mov ecx, dword [ebp - 0x34]
add ecx, 1
shl ecx, 4
add ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x34]
shl edx, 4
add edx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
jmp 0x494433
mov edx, dword [ebp + 8]
sub edx, 1
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0x18]
sub eax, 1
mov dword [ebp - 0x18], eax
jmp 0x49430f
mov ecx, dword [ebp + 8]
lea edx, [ecx + ecx + 1]
mov eax, dword [ebp - 0x268]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x268]
mov eax, dword [ecx + 8]
add eax, 1
xor ecx, ecx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 8]
add eax, 1
xor ecx, ecx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0xa4]
mov dword [eax + 0x34], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 8]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0xa8]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 8]
add eax, 1
push eax
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0xac]
mov dword [ecx + 0xc], edx
mov dword [ebp - 0x34], 0
jmp 0x494582
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x34]
cmp edx, dword [ecx + 8]
jg 0x4945e5
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 8]
jge 0x4945b1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x34]
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0x34]
fldz
fstp qword [eax + ecx*8]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
mov ecx, dword [ebp - 0x34]
fldz
fstp qword [eax + ecx*8]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x34]
mov byte [eax + ecx], 0
jmp 0x494579
fld1
fstp qword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
jmp 0x4945fc
mov edx, dword [ebp - 0x18]
add edx, 1
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
sub eax, 1
cmp dword [ebp - 0x18], eax
jge 0x49472b
mov ecx, dword [ebp - 0x18]
add ecx, 1
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0xbc]
push eax
call fcn.004d3e90
add esp, 0x14
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.004d49b0
add esp, 0x10
fcomp qword [ebp - 0x2c]
fnstsw ax
test ah, 0x41
jne 0x49469d
fld qword [ebp - 0x2c]
fstp qword [ebp - 0x274]
jmp 0x49471d
mov ecx, dword [ebp - 0x18]
add ecx, 1
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0xcc]
push eax
call fcn.004d3e90
add esp, 0x14
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.004d49b0
add esp, 0x10
fstp qword [ebp - 0x274]
fld qword [ebp - 0x274]
fstp qword [ebp - 0x2c]
jmp 0x4945f3
fld qword [ebp - 0x2c]
fmul qword [0x5504b8]
fstp qword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
jmp 0x494749
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp + 8]
jge 0x4947d5
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
call fcn.004d3340
sub esp, 8
fld qword [eax]
fstp qword [esp]
call fcn.0051c0ac
add esp, 8
mov eax, dword [ebp - 0x268]
fcomp qword [eax + 0xa0]
fnstsw ax
test ah, 0x41
jne 0x4947ac
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
call fcn.004d3340
sub esp, 8
fld qword [eax]
fstp qword [esp]
call fcn.0051c0ac
add esp, 8
fstp qword [ebp - 0x27c]
jmp 0x4947be
mov ecx, dword [ebp - 0x268]
fld qword [ecx + 0xa0]
fstp qword [ebp - 0x27c]
mov edx, dword [ebp - 0x268]
fld qword [ebp - 0x27c]
fstp qword [edx + 0xa0]
jmp 0x494740
mov eax, dword [ebp + 8]
mov dword [ebp - 0xd0], eax
xor ecx, ecx
mov eax, dword [ebp - 0xd0]
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xd8], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xd8], 0
je 0x49483b
push fcn.004d30b0
mov eax, dword [ebp - 0xd0]
push eax
push 0x10
mov ecx, dword [ebp - 0xd8]
push ecx
call fcn.00424810
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x280], edx
jmp 0x494845
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xdc], edx
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xe4], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0xe4], 0
je 0x4948c7
push fcn.004d30b0
mov eax, dword [ebp - 0xdc]
push eax
push 0x10
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.00424810
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x284], edx
jmp 0x4948d1
mov dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 8]
mov dword [ebp - 0xe8], edx
xor ecx, ecx
mov eax, dword [ebp - 0xe8]
mov edx, 0x10
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xf0], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0xf0], 0
je 0x494953
push fcn.004d30b0
mov eax, dword [ebp - 0xe8]
push eax
push 0x10
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.00424810
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x288], edx
jmp 0x49495d
mov dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0xec], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, dword [ebp + 8]
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004fdfe4
add esp, 4
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
jmp 0x4949b6
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp + 8]
jge 0x494fdf
fld qword [ebp - 0x2c]
fstp qword [ebp - 0x4c]
cmp dword [ebp - 0x18], 1
jge 0x494a80
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x104]
push ecx
call fcn.004d37c0
add esp, 4
mov ecx, eax
call fcn.004d3130
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0xc]
add edx, 0x10
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x124]
push eax
call fcn.004d3e90
add esp, 0x24
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x494c3e
mov ecx, dword [ebp + 8]
sub ecx, 1
cmp dword [ebp - 0x18], ecx
jge 0x494b86
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x18]
sub eax, 1
shl eax, 4
add eax, dword [ebp + 0xc]
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x134]
push ecx
call fcn.004d3e90
add esp, 0x24
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp - 0x1c]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x18]
add edx, 1
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x144]
push eax
call fcn.004d3e90
add esp, 0x24
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x494c3e
mov ecx, dword [ebp + 8]
sub ecx, 1
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 8]
sub edx, 2
shl edx, 4
add edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
lea eax, [ebp - 0x154]
push eax
call fcn.004d3e90
add esp, 0x24
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x174]
push ecx
lea edx, [ebp - 0x164]
push edx
call fcn.004d37c0
add esp, 4
mov ecx, eax
call fcn.004d3130
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
push ecx
call fcn.004d39a0
add esp, 4
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp - 0x20]
push edx
call fcn.004d39a0
add esp, 4
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebp - 0x20]
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.004d4ea0
add esp, 0x10
lea ecx, [ebp - 0x184]
push ecx
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
fstp qword [ebp - 0x290]
call fcn.004d3130
sub esp, 0x10
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
call fcn.004d4ea0
add esp, 0x10
fsubr qword [ebp - 0x290]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
fstp qword [edx + ecx*8]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
fld qword [0x54eaa8]
fmul qword [ecx + eax*8]
sub esp, 8
fstp qword [esp]
call fcn.0051c3d0
add esp, 8
fstp qword [ebp - 0x4c]
sub esp, 8
fld qword [ebp - 0x4c]
fstp qword [esp]
call fcn.0051c0ac
add esp, 8
fcomp qword [0x54eab0]
fnstsw ax
test ah, 5
jnp 0x494d22
fld qword [ebp - 0x2c]
fdiv qword [ebp - 0x4c]
fstp qword [ebp - 0x4c]
mov edx, dword [ebp - 0x18]
shl edx, 4
add edx, dword [ebp - 0x20]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebp - 0x1c]
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea ecx, [ebp - 0x194]
push ecx
call fcn.004d3d10
add esp, 0x14
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
lea ecx, [ebp - 0x1a4]
push ecx
call fcn.004d38a0
add esp, 4
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
sub esp, 8
fld qword [ebp - 0x4c]
fstp qword [esp]
lea ecx, [ebp - 0x1b4]
push ecx
call fcn.004d4010
add esp, 0xc
mov edx, esp
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x1c4]
push edx
call fcn.004d3d10
add esp, 0x24
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
sub esp, 8
fld qword [0x54eae0]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x4c]
fstp qword [esp]
call fcn.0051d560
add esp, 8
fld qword [0x54eae0]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
fstp qword [ebp - 0x298]
call fcn.0051d560
add esp, 0x10
fsubr qword [ebp - 0x298]
sub esp, 8
fstp qword [esp]
call fcn.0051e2e4
add esp, 8
fstp qword [ebp - 0x4c]
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
sub esp, 8
fld qword [ebp - 0x4c]
fstp qword [esp]
lea edx, [ebp - 0x1d4]
push edx
call fcn.004d4010
add esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x1e4]
push edx
call fcn.004d3d10
add esp, 0x24
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
sub esp, 8
fld qword [ebp - 0x4c]
fstp qword [esp]
lea edx, [ebp - 0x1f4]
push edx
call fcn.004d4010
add esp, 0xc
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp + 0xc]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x204]
push edx
call fcn.004d3d10
add esp, 0x24
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x4949ad
mov dword [ebp - 0x18], 0
jmp 0x494ff1
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
cmp edx, dword [ebp + 8]
jge 0x4957b3
cmp dword [ebp - 0x18], 0
jne 0x49514a
mov ecx, dword [ebp - 0x1c]
call fcn.004d3340
fld qword [eax]
fchs
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x14]
fstp qword [ecx]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
fldz
fstp qword [eax + 8]
push 0x60
call fcn.004fdfb5
add esp, 4
mov dword [ebp - 0x20c], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x20c], 0
je 0x4950de
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x14]
sub esp, 8
fld qword [edx + 8]
fstp qword [esp]
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x14]
sub esp, 8
fld qword [ecx]
fstp qword [esp]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x3c]
push eax
mov ecx, dword [ebp - 0x1c]
call fcn.004d3340
sub esp, 8
fld qword [eax]
fstp qword [esp]
sub esp, 8
fldz
fstp qword [esp]
mov ecx, dword [ebp - 0x1c]
call fcn.004d3330
sub esp, 8
fld qword [eax]
fstp qword [esp]
lea ecx, [ebp - 0x21c]
call fcn.004d3080
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x20c]
call fcn.004928d0
mov dword [ebp - 0x29c], eax
jmp 0x4950e8
mov dword [ebp - 0x29c], 0
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x208], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x10]
mov ecx, dword [ebp - 0x208]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.004d3330
mov edx, dword [ebp - 0x268]
mov ecx, dword [edx + 0x34]
fld qword [eax]
fstp qword [ecx + 8]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x34]
fld qword [eax + 8]
fstp qword [edx]
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
mov byte [ecx], 0x6b
jmp 0x4952fe
mov esi, dword [ebp - 0x18]
shl esi, 1
mov edx, dword [ebp - 0x268]
mov edi, dword [edx + 0x14]
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebp - 0x1c]
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
sub ecx, 1
shl ecx, 4
add ecx, dword [ebp - 0x20]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x22c]
push edx
call fcn.004d3e90
add esp, 0x14
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.004d49b0
add esp, 0x10
fadd qword [edi + esi*8]
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
fstp qword [eax + ecx*8 + 8]
push 0x60
call fcn.004fdfb5
add esp, 4
mov dword [ebp - 0x234], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x234], 0
je 0x495298
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
sub esp, 8
fld qword [eax + ecx*8 + 8]
fstp qword [esp]
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
sub esp, 8
fld qword [eax + ecx*8]
fstp qword [esp]
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0x18]
sub edx, 1
shl edx, 4
add edx, dword [ebp - 0x20]
sub esp, 0x10
mov eax, esp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x234]
call fcn.00492040
mov dword [ebp - 0x2a0], eax
jmp 0x4952a2
mov dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x230], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x230]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
call fcn.004d3330
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov edx, dword [edx + 0x34]
fld qword [eax]
fstp qword [edx + ecx*8 + 8]
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x18]
mov byte [ecx + edx*2], 0x67
mov esi, dword [ebp - 0x18]
shl esi, 1
mov eax, dword [ebp - 0x268]
mov edi, dword [eax + 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
fld qword [edx + ecx*8]
fmul qword [ebp - 0x2c]
sub esp, 8
fstp qword [esp]
call fcn.0051c0ac
add esp, 8
fadd qword [edi + esi*8 + 8]
mov eax, dword [ebp - 0x18]
shl eax, 1
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x14]
fstp qword [edx + eax*8 + 0x10]
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebp - 0x10]
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
lea edx, [ebp - 0x244]
push edx
call fcn.004d3e90
add esp, 0x14
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
call fcn.004d4ea0
add esp, 0x10
fstp qword [ebp - 0x54]
fld qword [0x551558]
fcomp qword [ebp - 0x54]
fnstsw ax
test ah, 5
jp 0x4953d2
fld qword [ebp - 0x54]
fsub qword [0x54eac8]
fstp qword [ebp - 0x54]
push 0x48
call fcn.004fdfb5
add esp, 4
mov dword [ebp - 0x24c], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x24c], 0
je 0x495483
push 0
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
sub esp, 8
fld qword [eax + ecx*8 + 0x10]
fstp qword [esp]
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x14]
sub esp, 8
fld qword [eax + ecx*8 + 8]
fstp qword [esp]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
fld qword [ebp - 0x54]
fadd qword [edx + ecx*8]
sub esp, 8
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x54]
fstp qword [esp]
mov eax, dword [ebp - 0x18]
shl eax, 4
add eax, dword [ebp - 0x10]
sub esp, 0x10
mov ecx, esp
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
sub esp, 8
fld qword [ebp - 0x2c]
fstp qword [esp]
mov ecx, dword [ebp - 0x24c]
call fcn.00491a20
mov dword [ebp - 0x2a4], eax
jmp 0x49548d
mov dword [ebp - 0x2a4], 0
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x248], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x18]
shl edx, 1
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x248]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
call fcn.004d3330
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov edx, dword [edx + 0x34]
fld qword [eax]
fstp qword [edx + ecx*8 + 0x10]
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x18]
mov byte [ecx + edx*2 + 1], 0x72
mov eax, dword [ebp + 8]
sub eax, 1
cmp dword [ebp - 0x18], eax
jne 0x495632
mov esi, dword [ebp + 8]
shl esi, 1
mov ecx, dword [ebp - 0x268]
mov edi, dword [ecx + 0x14]
mov ecx, dword [ebp + 8]
sub ecx, 1
shl ecx, 4
add ecx, dword [ebp - 0x20]
call fcn.004d3340
fld qword [edi + esi*8]
fadd qword [eax]
mov edx, dword [ebp + 8]
shl edx, 1
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x14]
fstp qword [ecx + edx*8 + 8]
push 0x60
call fcn.004fdfb5
add esp, 4
mov dword [ebp - 0x254], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x254], 0
je 0x4955cb
mov edx, dword [ebp + 8]
shl edx, 1
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x14]
sub esp, 8
fld qword [ecx + edx*8 + 8]
fstp qword [esp]
mov edx, dword [ebp + 8]
shl edx, 1
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x14]
sub esp, 8
fld qword [ecx + edx*8]
fstp qword [esp]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x3c]
push eax
sub esp, 8
fldz
fstp qword [esp]
mov ecx, dword [ebp + 8]
sub ecx, 1
shl ecx, 4
add ecx, dword [ebp - 0x20]
sub esp, 0x10
mov edx, esp
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [ebp - 0x254]
call fcn.004928d0
mov dword [ebp - 0x2a8], eax
jmp 0x4955d5
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x250], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 8]
shl eax, 1
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x250]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp + 8]
shl edx, 1
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0x34]
mov eax, dword [ebp + 8]
shl eax, 1
mov esi, dword [ebp - 0x268]
mov esi, dword [esi + 0x34]
fld qword [ecx + edx*8]
fstp qword [esi + eax*8 + 8]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0xc]
mov eax, dword [ebp + 8]
mov byte [edx + eax*2], 0x6b
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
call fcn.004d3330
mov esi, eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
call fcn.004d3330
fld qword [eax]
fcomp qword [esi]
fnstsw ax
test ah, 1
jne 0x495684
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
call fcn.004d3330
mov esi, eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
call fcn.004d3330
fld qword [eax]
fcomp qword [esi]
fnstsw ax
test ah, 1
je 0x4956de
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x1c]
call fcn.004d3330
mov esi, eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
call fcn.004d3330
fld qword [eax]
fcomp qword [esi]
fnstsw ax
test ah, 1
jne 0x4957ae
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
call fcn.004d3330
mov esi, eax
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x20]
call fcn.004d3330
fld qword [eax]
fcomp qword [esi]
fnstsw ax
test ah, 1
jne 0x4957ae
mov ecx, dword [ebp - 0x268]
fld qword [ecx + 0xa0]
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
fstp qword [ebp - 0x2b0]
call fcn.004d3340
fld qword [eax]
fadd qword [ebp - 0x2c]
fcomp qword [ebp - 0x2b0]
fnstsw ax
test ah, 5
jp 0x495724
mov edx, dword [ebp - 0x268]
fld qword [edx + 0xa0]
fstp qword [ebp - 0x2b8]
jmp 0x49573d
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
call fcn.004d3340
fld qword [eax]
fadd qword [ebp - 0x2c]
fstp qword [ebp - 0x2b8]
mov eax, dword [ebp - 0x268]
fld qword [ebp - 0x2b8]
fstp qword [eax + 0xa0]
mov ecx, dword [ebp - 0x18]
shl ecx, 4
add ecx, dword [ebp - 0x10]
call fcn.004d3330
sub esp, 8
fld qword [eax]
fstp qword [esp]
mov ecx, dword [ebp - 0x18]
shl ecx, 1
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ecx*4 + 4]
mov edx, dword [ebp - 0x18]
shl edx, 1
mov eax, dword [ebp - 0x268]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + edx*4 + 4]
mov eax, dword [ecx]
mov ecx, edx
mov edx, dword [eax + 0x14]
call edx
mov eax, dword [ebp - 0x268]
fstp qword [eax + 0x18]
mov ecx, dword [ebp - 0x18]
lea edx, [ecx + ecx + 1]
mov eax, dword [ebp - 0x268]
mov dword [eax + 0xbc], edx
jmp 0x494fe8
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x268]
fld qword [edx + 0xa0]
fstp qword [ecx + 0xa8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x258], eax
mov ecx, dword [ebp - 0x258]
push ecx
call fcn.004fdfef
add esp, 4
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x25c], edx
mov eax, dword [ebp - 0x25c]
push eax
call fcn.004fdfef
add esp, 4
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x260]
push edx
call fcn.004fdfef
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x264], eax
mov ecx, dword [ebp - 0x264]
push ecx
call fcn.004fdfef
add esp, 4
mov edx, dword [ebp - 0x268]
mov dword [edx + 0xc8], 0
mov eax, dword [ebp - 0x268]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0xc8]
movsx ecx, byte [ecx + eax]
cmp ecx, 0x6b
jne 0x495876
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0xc8]
add eax, 1
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0xc8], eax
jmp 0x49583b
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 8]
sub eax, 1
mov ecx, dword [ebp - 0x268]
mov dword [ecx + 0xc4], eax
mov edx, dword [ebp - 0x268]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0xc4]
movsx eax, byte [eax + edx]
cmp eax, 0x6b
jne 0x4958c9
mov ecx, dword [ebp - 0x268]
mov edx, dword [ecx + 0xc4]
sub edx, 1
mov eax, dword [ebp - 0x268]
mov dword [eax + 0xc4], edx
jmp 0x49588e
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8