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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x780681
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
push ebx
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0x108]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [edi + 0x528]
call fcn.004363d0
lea ecx, [edi + 0x4b8]
call fcn.004363d0
fldz
fcom dword [edi + 0x264]
fnstsw ax
test ah, 5
jp 0x6fdd17
fstp st(0)
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fdiv qword [0x82dd28]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fmul qword [0x82dd68]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [edi + 0x268]
fstp dword [esp]
call fcn.004099a0
fstp dword [esp + 0x1c]
fld dword [edi + 0x264]
fmul dword [esp + 0x1c]
fmul qword [0x82dd88]
fdiv qword [0x82de80]
fstp dword [edi + 0x258]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004099c0
fstp dword [esp + 0x1c]
fld dword [edi + 0x264]
add esp, 4
fmul dword [esp + 0x18]
fmul qword [0x82dd88]
fdiv qword [0x82de80]
fstp dword [edi + 0x25c]
jmp 0x6fdd23
fst dword [edi + 0x25c]
fstp dword [edi + 0x258]
test byte [edi + 0x228], 0x80
je 0x6fde31
mov esi, dword [edi]
push 0
mov ebx, edi
call fcn.0071a7f0
test al, al
jne 0x6fde31
mov eax, dword [edi + 4]
lea edx, [eax + eax*4]
mov eax, dword [edi]
mov ecx, dword [eax + 0x38]
lea eax, [ecx + edx*2]
cdq
mov ecx, 0x190
idiv ecx
test edx, edx
jne 0x6fde31
push 3
call fcn.00437c10
add esp, 4
sub eax, 0
je 0x6fdde9
sub eax, 1
je 0x6fddaf
sub eax, 1
jne 0x6fde31
push str.b_0_0.5_0.005_1____T_B5________
lea ecx, [esp + 0x74]
call fcn.00401280
push 0
lea edx, [esp + 0x74]
push edx
lea eax, [edi + 0x598]
mov dword [esp + 0x118], 2
call fcn.00435cc0
lea ecx, [esp + 0x70]
jmp 0x6fde21
push str.b_0_0.5_0.005_1_________17f__
lea ecx, [esp + 0xac]
call fcn.00401280
push 0
lea eax, [esp + 0xac]
push eax
lea eax, [edi + 0x598]
mov dword [esp + 0x118], 1
call fcn.00435cc0
lea ecx, [esp + 0xa8]
jmp 0x6fde21
push str.b_0_0.5_0.005_1__x___XYs___P
lea ecx, [esp + 0x90]
call fcn.00401280
push 0
lea ecx, [esp + 0x90]
push ecx
lea eax, [edi + 0x598]
mov dword [esp + 0x118], 0
call fcn.00435cc0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x110], 0xffffffff
call fcn.004012f0
test byte [edi + 0x228], 1
je 0x6fe783
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c4]
call eax
xor ecx, ecx
test al, al
sete cl
mov byte [esp + 0x23], al
add ecx, 2
mov eax, ecx
test eax, eax
jle 0x6fe5b4
mov dword [esp + 0x18], eax
call fcn.00437c00
and eax, 0x80000001
jns 0x6fde77
dec eax
or eax, 0xfffffffe
inc eax
sete al
mov byte [esp + 0x37], al
test al, al
je 0x6fe085
call fcn.00437c00
and eax, 0x8000001f
jns 0x6fde97
dec eax
or eax, 0xffffffe0
inc eax
jne 0x6fdea7
mov edx, dword [edi]
mov eax, dword [edx + 0x12c0]
mov dword [esp + 0x2c], eax
jmp 0x6fdeb3
mov ecx, dword [edi]
mov edx, dword [ecx + 0x12bc]
mov dword [esp + 0x2c], edx
push 6
call fcn.007079c0
fldz
mov ebx, eax
fst dword [ebx + 0x90]
fst dword [ebx + 0x94]
mov dword [esp + 0x24], ebx
fstp dword [ebx + 0x4c]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
cmp byte [0x88b12a], 0
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fld qword [0x82dd28]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82e8f8]
fadd qword [0x82e218]
fstp dword [ebx + 0x50]
je 0x6fdf7e
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdiv st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82e8f0]
fadd qword [0x82e398]
fstp dword [ebx + 0x58]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdiv st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82df40]
fadd qword [0x82de90]
fstp dword [ebx + 0x5c]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
cmp byte [esp + 0x23], 0
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdiv st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82ddb0]
fsubr qword [0x82e8e8]
fstp dword [ebx + 0x20]
je 0x6fdfc5
fld dword [ebx + 0x5c]
fmul qword [0x82e8e0]
fstp dword [ebx + 0x5c]
mov edx, dword [edi]
cmp byte [edx + 0x2efd], 0
je 0x6fdff7
call fcn.00437c00
and eax, 0x80000003
jns 0x6fdfe1
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
jg 0x6fdff7
mov eax, dword [edi]
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x12bc]
jne 0x6fdff7
mov al, 1
jmp 0x6fdff9
xor al, al
cmp dword [edi + 0x220], 3
mov byte [esp + 0x2b], al
je 0x6fe03e
test al, al
jne 0x6fe03e
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0xf8]
call fcn.00434890
mov edx, dword [eax]
mov dword [ebx + 0x70], edx
mov ecx, dword [eax + 4]
mov dword [ebx + 0x74], ecx
mov edx, dword [eax + 8]
mov dword [ebx + 0x78], edx
mov eax, dword [eax + 0xc]
mov dword [ebx + 0x7c], eax
jmp 0x6fe239
mov edx, 0x80
push 0x80
lea ecx, [edx + 0x7f]
lea eax, [esp + 0xc8]
call fcn.00434890
cmp byte [esp + 0x2b], 0
mov ecx, dword [eax]
mov dword [ebx + 0x70], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 0x74], edx
mov ecx, dword [eax + 8]
mov dword [ebx + 0x78], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 0x7c], edx
je 0x6fe239
mov dword [ebx + 8], 4
jmp 0x6fe239
call fcn.00437c00
and eax, 0x80000001
jns 0x6fe096
dec eax
or eax, 0xfffffffe
inc eax
jne 0x6fe0a6
mov eax, dword [edi]
mov ecx, dword [eax + 0x12c0]
mov dword [esp + 0x2c], ecx
jmp 0x6fe0b2
mov edx, dword [edi]
mov eax, dword [edx + 0x12bc]
mov dword [esp + 0x2c], eax
push 5
call fcn.007079c0
fld1
mov esi, eax
fstp dword [esi + 0x4c]
mov al, byte [0x88b12a]
mov dword [esp + 0x24], esi
test al, al
je 0x6fe0d6
fld dword [0x82de6c]
fstp dword [esi + 0x58]
fld dword [0x82e010]
mov dword [esi + 0x3c], 0
fstp dword [esi + 0x5c]
test al, al
je 0x6fe0f8
mov ecx, dword [0x881030]
mov dword [esi + 0x180], ecx
jmp 0x6fe104
mov edx, dword [0x880e64]
mov dword [esi + 0x180], edx
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fld qword [0x82dd28]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82dde8]
fsub qword [0x82e0d0]
fstp dword [esi + 0x20]
call fcn.00437c00
cdq
mov ecx, 0x18
idiv ecx
add edx, ecx
push edx
call fcn.00437c00
mov edx, eax
and edx, 0x8000001f
jns 0x6fe164
dec edx
or edx, 0xffffffe0
inc edx
add edx, 0x30
mov ecx, 0x80
lea eax, [esp + 0xe8]
call fcn.00434890
mov edx, dword [eax]
mov dword [esi + 0x70], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0x74], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x78], edx
mov eax, dword [eax + 0xc]
mov dword [esi + 0x7c], eax
mov ecx, dword [edi]
cmp byte [ecx + 0x2efd], 0
je 0x6fe1bd
call fcn.00437c00
cdq
mov ecx, 3
idiv ecx
test edx, edx
jg 0x6fe1bd
mov edx, dword [edi]
mov eax, dword [esp + 0x2c]
cmp eax, dword [edx + 0x12bc]
jne 0x6fe1bd
mov bl, 1
jmp 0x6fe1bf
xor bl, bl
mov eax, dword [edi + 0x220]
cmp eax, 3
je 0x6fe201
test bl, bl
jne 0x6fe201
test eax, eax
jne 0x6fe235
mov edx, 0x80
push pe_nt_image_headers32
lea ecx, [edx + 0x70]
lea eax, [esp + 0xd8]
call fcn.00434890
mov ecx, dword [eax]
mov dword [esi + 0x70], ecx
mov edx, dword [eax + 4]
mov dword [esi + 0x74], edx
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0x7c], edx
jmp 0x6fe235
push 0
xor edx, edx
mov ecx, 0xff
lea eax, [esp + 0x64]
call fcn.00434890
mov ecx, dword [eax]
mov dword [esi + 0x70], ecx
mov edx, dword [eax + 4]
mov dword [esi + 0x74], edx
mov ecx, dword [eax + 8]
mov dword [esi + 0x78], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0x7c], edx
test bl, bl
je 0x6fe235
mov dword [esi + 8], 3
mov ebx, dword [esp + 0x24]
cmp byte [esp + 0x23], 0
je 0x6fe256
fld dword [ebx + 0x20]
fld qword [0x82e8e0]
fmul st(1), st(0)
fxch st(1)
fstp dword [ebx + 0x20]
fmul dword [ebx + 0x50]
fstp dword [ebx + 0x50]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x18], edx
fidivr dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x82dd68]
fadd st(0), st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409960
fadd qword [0x82dd68]
add esp, 4
fstp dword [esp + 0x1c]
fld dword [edi + 0x170]
fmul qword [0x82de80]
fld qword [0x82de78]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x6fe2be
fstp st(1)
jmp 0x6fe2c0
fstp st(0)
call fcn.0076f850
fld dword [esp + 0x1c]
mov edi, dword [edi + 0x220]
push ecx
mov esi, eax
fstp dword [esp]
call fcn.006fcdd0
fstp dword [esp + 0x18]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004099a0
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp + 0x48]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004099c0
fstp dword [esp + 0x3c]
add esp, 4
cmp byte [esp + 0x37], 0
fld dword [esp + 0x38]
fstp dword [esp + 0x30]
je 0x6fe493
fldz
fcom dword [esp + 0x30]
fnstsw ax
test ah, 5
jp 0x6fe491
call fcn.00437c00
and eax, 0x80000001
jns 0x6fe33e
dec eax
or eax, 0xfffffffe
inc eax
je 0x6fe491
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x41
jne 0x6fe357
fld dword [0x7aede0]
jmp 0x6fe35d
fld dword [0x82e8d8]
fstp dword [esp + 0x48]
push ecx
fld dword [esp + 0x4c]
fld st(0)
fadd st(1)
fld dword [esp + 0x20]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x20]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fstp dword [esp]
call fcn.004099a0
fstp dword [esp + 0x14]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004099a0
fadd dword [esp + 0x14]
sub esp, 8
fmul qword [0x87d2f0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fsub dword [esp + 0x50]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 8]
fld dword [esp + 0x54]
fstp dword [esp]
call fcn.004099c0
fstp dword [esp + 0x1c]
fld dword [esp + 0x28]
fstp dword [esp]
call fcn.004099c0
fadd dword [esp + 0x1c]
add esp, 4
fmul qword [0x87d2f0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fsub dword [esp + 0x38]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409980
fstp dword [esp + 0x38]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
add esp, 4
sub edx, 0x7a120
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdiv qword [0x82dd28]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82ddb0]
fadd qword [0x82e398]
fstp dword [esp + 0x48]
fld dword [esp + 0x34]
fstp dword [esp]
call fcn.004099a0
fmul dword [esp + 0x48]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd dword [ebx + 0x1c]
fmul qword [0x87d2f0]
fstp dword [ebx + 0x1c]
fld dword [esp + 0x34]
fstp dword [esp]
call fcn.004099c0
fmul dword [esp + 0x48]
add esp, 4
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x20]
fmul qword [0x87d2f0]
fstp dword [ebx + 0x20]
jmp 0x6fe493
fstp st(0)
mov esi, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2ac]
call eax
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov eax, dword [esi]
fadd dword [esi + 0x10]
fstp dword [esp + 0x1c]
cmp edi, dword [eax + 0x12c0]
jne 0x6fe4da
lea ecx, [eax + 0x2a60]
call fcn.00436230
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x4c]
fmul dword [esp + 0x14]
fld dword [esp + 0x1c]
fadd qword [0x82dd50]
faddp st(1)
fstp dword [ebx + 0x10]
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2b0]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [esi + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fld dword [esp + 0x38]
fmul dword [esp + 0x14]
faddp st(1)
fadd qword [0x82dc10]
fstp dword [ebx + 0x14]
call fcn.00437c00
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x6fe545
mov edx, dword [esi]
cmp dword [edx + 0x2890], 0
je 0x6fe57a
fld dword [ebx + 0x10]
fsub dword [esp + 0x1c]
fstp dword [ebx + 0x10]
mov ecx, dword [esi]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2b0]
call edx
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [esi + 0x14]
fstp dword [esp + 0x10]
fld dword [ebx + 0x14]
fsub dword [esp + 0x10]
fstp dword [ebx + 0x14]
mov eax, dword [esi + 4]
mov dword [ebx + 0x28], eax
mov ecx, dword [ebx + 8]
mov dword [esp + 0x40], ebx
lea eax, [edi + 0xbc]
lea ebx, [esp + 0x3c]
lea esi, [esp + 0x50]
mov dword [esp + 0x3c], ecx
call fcn.00418740
sub dword [esp + 0x18], 1
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov edi, dword [ebp + 8]
mov dword [eax + 0x1b8], edx
jne 0x6fde66
mov ecx, dword [0x88b12c]
mov eax, dword [ecx + 0x590]
add eax, dword [edi + 4]
mov ecx, 0xc
cdq
idiv ecx
test edx, edx
je 0x6fe5e4
call fcn.00437c00
cdq
mov ecx, 0x1e
idiv ecx
test edx, edx
jne 0x6fe783
push 0x11
call fcn.007079c0
mov esi, eax
mov dword [esi + 0x1ac], 2
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2ac]
mov dword [esp + 0x18], esi
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [edi + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fstp dword [esp + 0x14]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdiv qword [0x82dd28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x82de80]
fadd dword [esp + 0x14]
fstp dword [esi + 0x10]
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2b0]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [edi + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fstp dword [esp + 0x14]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push 0x30
lea eax, [esp + 0x64]
sub edx, 0x7a120
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov edx, 0x8c
lea ecx, [edx + 0x73]
fdiv qword [0x82dd28]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul qword [0x82de80]
fadd dword [esp + 0x18]
fsub qword [0x82df58]
fstp dword [esi + 0x14]
fld dword [0x82e18c]
fstp dword [esi + 0x18]
fld dword [0x82e8b8]
fstp dword [esi + 0x198]
fld dword [0x82e8d4]
fstp dword [esi + 0x19c]
fldz
fstp dword [esi + 0x4c]
fld dword [0x82e194]
fstp dword [esi + 0x50]
fld dword [0x82e190]
fstp dword [esi + 0x58]
call fcn.00434890
mov edx, dword [eax]
mov dword [esi + 0x70], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0x74], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x78], edx
mov eax, dword [eax + 0xc]
mov dword [esi + 0x7c], eax
call fcn.00437c00
and eax, 0x80000001
jns 0x6fe732
dec eax
or eax, 0xfffffffe
inc eax
jne 0x6fe73f
mov ecx, dword [edi]
cmp dword [ecx + 0x2890], 0
je 0x6fe748
mov edx, dword [edi + 4]
mov dword [esi + 0x1a8], edx
mov eax, dword [edi]
mov eax, dword [eax + 0x12c0]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], eax
add eax, 0xbc
lea ebx, [esp + 0x3c]
lea esi, [esp + 0x50]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
call fcn.00418740
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x1b8], eax
mov ebx, 2
test byte [edi + 0x228], bl
je 0x6fe96b
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x590]
add eax, dword [edi + 4]
mov ecx, 0xc
cdq
idiv ecx
test edx, edx
je 0x6fe7c4
call fcn.00437c00
cdq
mov ecx, 0x23
idiv ecx
test edx, edx
jne 0x6fe96b
push 0x11
call fcn.007079c0
mov esi, eax
mov dword [esi + 0x1ac], ebx
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2ac]
mov dword [esp + 0x18], esi
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [edi + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fstp dword [esp + 0x14]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdiv qword [0x82dd28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x82e3d8]
fadd dword [esp + 0x14]
fstp dword [esi + 0x10]
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2b0]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [edi + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fstp dword [esp + 0x14]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdiv qword [0x82dd28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x82e3d8]
fadd dword [esp + 0x14]
fadd qword [0x82dc20]
fstp dword [esi + 0x14]
fld dword [0x82e18c]
fstp dword [esi + 0x18]
fld dword [0x82e8b8]
fstp dword [esi + 0x198]
fld dword [0x82e8d0]
fstp dword [esi + 0x19c]
fldz
fstp dword [esi + 0x4c]
fld dword [0x82e8cc]
fstp dword [esi + 0x50]
fld dword [0x82e190]
fstp dword [esi + 0x58]
call fcn.00437c00
cdq
mov ecx, 0xff
idiv ecx
mov ecx, 0x80
lea eax, [ecx + 0x7f]
call fcn.0046b0b0
mov ecx, eax
lea eax, [esp + 0x50]
call fcn.00434820
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esi + 0x70], edx
mov dword [esi + 0x74], eax
mov edx, dword [esp + 0x5c]
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edx
call fcn.00437c00
and eax, 0x80000001
jns 0x6fe925
dec eax
or eax, 0xfffffffe
inc eax
je 0x6fe930
mov eax, dword [edi + 4]
mov dword [esi + 0x1a8], eax
mov ecx, dword [edi]
mov eax, dword [ecx + 0x12c0]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 8]
mov dword [esp + 0x10], eax
add eax, 0xbc
lea ebx, [esp + 0x3c]
lea esi, [esp + 0x50]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
call fcn.00418740
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x1b8], eax
test dword [edi + 0x228], 0x200
je 0x6febef
cmp dword [edi + 0x4b0], 0
jne 0x6fe98b
mov ecx, edi
call fcn.006fd6a0
mov ecx, dword [edi + 0x244]
cmp ecx, 8
jg 0x6febef
mov eax, 8
sub eax, ecx
cmp eax, 1
mov dword [esp + 0x18], 1
jl 0x6fe9b2
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp dword [esp + 0x38]
call fcn.00437c00
and eax, 0x80000003
jns 0x6fe9cb
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, dword [edi + 0x244]
cmp ecx, 2
mov dword [esp + 0x10], eax
jge 0x6fe9e1
mov ecx, 2
jmp 0x6fe9ea
cmp ecx, 0x14
jge 0x6febef
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
cdq
idiv ecx
test edx, edx
jne 0x6febef
fild dword [esp + 0x10]
push ecx
fmul qword [0x82dd68]
fmul qword [0x87d2f0]
fadd qword [0x82e7b0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004099a0
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004099c0
add esp, 4
fstp dword [esp + 0x4c]
push 0xe
call fcn.007079c0
mov esi, eax
mov dword [esp + 0x30], esi
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdiv qword [0x82dd28]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.00409960
fmul qword [0x82ddb0]
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2ac]
fadd qword [0x82def0]
add esp, 4
fmul dword [esp + 0x38]
fstp dword [esp + 0x38]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [edi + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fstp dword [esp + 0x18]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdiv qword [0x82dd28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x82dfe8]
fadd qword [0x82dde0]
fld dword [esp + 0x14]
fmul qword [0x82dd88]
fmulp st(1)
fld dword [esp + 0x18]
fadd dword [edi + 0x258]
faddp st(1)
fstp dword [esi + 0x10]
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2b0]
call eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [edi + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd qword [0x82dd50]
fstp dword [esp + 0x18]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
mov dword [esp + 0x40], esi
lea ebx, [esp + 0x3c]
sub edx, 0x7a120
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdiv qword [0x82dd28]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x82dfe8]
fadd qword [0x82dde0]
fld dword [esp + 0x4c]
fld qword [0x82dd88]
fmul st(1)
fmulp st(2)
fld dword [edi + 0x25c]
mov byte [esi + 0x194], 0
fadd dword [esp + 0x18]
faddp st(2)
fxch st(1)
fstp dword [esi + 0x14]
fld dword [0x82e194]
fstp dword [esi + 0x58]
fld dword [0x82e8c8]
fstp dword [esi + 0x5c]
fld dword [0x82de6c]
fstp dword [esi + 0x6c]
fld dword [esp + 0x38]
fld st(0)
fmul dword [esp + 0x14]
fstp dword [esi + 0x1c]
fmulp st(1)
fstp dword [esi + 0x20]
mov edx, dword [edi]
mov eax, dword [edx + 0x12c0]
mov ecx, dword [esi + 8]
mov dword [esp + 0x10], eax
add eax, 0xbc
lea esi, [esp + 0x50]
mov dword [esp + 0x3c], ecx
call fcn.00418740
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov dword [eax + 0x1b8], edx
mov ecx, dword [edi + 0x624]
sub ecx, dword [edi + 0x620]
xor esi, esi
mov dword [esp + 0x24], esi
test ecx, 0xfffffffc
jle 0x6fecf0
lea ecx, [ecx]
mov edx, dword [edi + 0x624]
sub edx, dword [edi + 0x620]
sar edx, 2
cmp esi, edx
jb 0x6fec28
call fcn.006441b7
mov eax, dword [edi + 0x620]
mov eax, dword [eax + esi*4]
cmp byte [eax + 0x1b0], 0
je 0x6fecd4
dec dword [eax + 0x1b4]
mov esi, dword [edi + 0x620]
cmp esi, dword [edi + 0x624]
jbe 0x6fec57
call fcn.006441b7
mov ebx, dword [edi + 0x614]
test ebx, ebx
jne 0x6fec7c
call fcn.006441b7
xor eax, eax
mov ecx, dword [esp + 0x24]
lea esi, [esi + ecx*4]
cmp esi, dword [eax + 0x10]
ja 0x6fec87
test ebx, ebx
je 0x6fec80
mov ebx, dword [ebx]
jmp 0x6fec82
mov eax, dword [ebx]
jmp 0x6fec68
xor ebx, ebx
cmp esi, dword [ebx + 0xc]
jae 0x6fec8c
call fcn.006441b7
mov eax, dword [edi + 0x624]
lea ecx, [esi + 4]
sub eax, ecx
sar eax, 2
test eax, eax
jle 0x6fecae
add eax, eax
add eax, eax
push eax
push ecx
push eax
push esi
call fcn.00643dc7
add esp, 0x10
add dword [edi + 0x624], 0xfffffffc
mov eax, dword [edi + 0x624]
cmp dword [edi + 0x620], esi
ja 0x6fecc7
cmp esi, eax
jbe 0x6feccc
call fcn.006441b7
dec dword [esp + 0x24]
mov esi, dword [esp + 0x24]
mov edx, dword [edi + 0x624]
sub edx, dword [edi + 0x620]
inc esi
sar edx, 2
cmp esi, edx
mov dword [esp + 0x24], esi
jl 0x6fec10
mov ecx, dword [esp + 0x108]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4