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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x77dcf2
mov eax, dword fs:[0]
push eax
sub esp, 0x268
mov eax, dword [0x867e6c]
xor eax, esp
mov dword [esp + 0x230], eax
push ebx
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0x278]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, ecx
mov eax, ebx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x38], ebx
call fcn.00430930
mov dword [esp + 0x48], eax
mov eax, 0x88ba50
mov ecx, ebx
call fcn.00430c20
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
imul ecx, ecx, 0xe6
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esi + 0x4c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esi + 0x48]
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [0x88205c]
push ebx
lea edi, [esp + 0x18]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ecx
call fcn.00432a40
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
fld1
imul ecx, ecx, 0x82
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esi + 0x4c]
mov edi, dword [0x882ff4]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esi + 0x48]
sub esp, 0x10
cdq
fst dword [esp + 0xc]
mov dword [esp + 0x20], ecx
fstp dword [esp + 8]
sub eax, edx
sar eax, 1
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, ebx
fstp dword [esp + 4]
fild dword [esp + 0x20]
fstp dword [esp]
call fcn.006f1400
lea edi, [esi + 0xc4]
add esp, 0x10
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], edi
jmp 0x678b48
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
lea edx, [esp + 0x14]
push edx
push esi
call fcn.006665e0
mov ebx, dword [esp + 0x38]
push ebx
call fcn.00430aa0
mov cl, 1
mov eax, ebx
call fcn.00430cc0
mov eax, dword [edi]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x678b98
push 0x80
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0x90]
call fcn.004348b0
mov ecx, ebx
call fcn.00430c20
lea ecx, [esp + 0x194]
call fcn.00434f60
push 0x1e
xor ebx, ebx
push str.b1_1.2_0_1__________
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebx
mov byte [esp + 0x78], bl
call fcn.004016e0
push ebx
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x19c]
mov dword [esp + 0x288], ebx
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x84], 0x10
jb 0x678c07
mov ecx, dword [esp + 0x70]
push ecx
call fcn.006441c7
add esp, 4
fld dword [edi + 0x50]
sub esp, 8
lea edi, [esp + 0x19c]
fstp qword [esp]
call fcn.00435ec0
fstp dword [esp + 0x10]
lea eax, [esp + 0xf4]
call fcn.0057e490
cmp dword [esp + 0x48], ebx
je 0x678c6d
mov eax, dword [esi + 0xb8]
cmp eax, ebx
je 0x678c53
mov edx, dword [eax + 0x3060]
sub edx, dword [eax + 0x305c]
sar edx, 2
cmp dword [esi + 0x328], edx
jne 0x678c6d
fld dword [esp + 0x10]
sub esp, 8
fst dword [esp + 4]
lea eax, [esp + 0xfc]
fstp dword [esp]
call fcn.0057e5b0
fild dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
sub esp, 8
cmp dword [eax], ebx
fstp dword [esp + 0x2c]
fild dword [esp + 0x1c]
fstp dword [esp + 0x44]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esp + 0x44]
fstp dword [esp]
jle 0x678cc7
mov ecx, dword [esp + 0x30]
mov edi, dword [0x8829e4]
push ecx
lea esi, [esp + 0x148]
mov ecx, edi
call fcn.0045a130
mov ebx, dword [esp + 0x40]
push eax
lea edx, [esp + 0x100]
mov eax, edi
mov ecx, ebx
call fcn.004326b0
jmp 0x678cf7
mov edx, dword [esp + 0x30]
mov edi, dword [0x880ec0]
push edx
lea esi, [esp + 0xc0]
mov ecx, edi
call fcn.0045a130
mov ecx, dword [esp + 0x40]
push eax
lea edx, [esp + 0x100]
mov eax, edi
call fcn.004326b0
mov ebx, dword [esp + 0x38]
fld dword [esp + 0x24]
mov eax, dword [esp + 0x44]
mov edi, dword [0x88221c]
sub esp, 8
fstp dword [esp + 4]
lea esi, [esp + 0x58]
fld dword [esp + 0x44]
mov ecx, edi
fstp dword [esp]
push eax
call fcn.0045a130
push eax
lea edx, [esp + 0x100]
mov eax, edi
mov ecx, ebx
call fcn.004326b0
call fcn.00430bb0
mov eax, dword [esp + 0x28]
add dword [esp + 0x2c], 4
inc eax
cmp eax, 0x14
mov dword [esp + 0x28], eax
jl 0x678b40
mov edi, dword [esp + 0x4c]
cmp dword [edi + 0xb8], 0
je 0x6798d1
lea ecx, [edi + 0x248]
mov dword [esp + 0x2c], ecx
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x41
jne 0x6798d1
mov esi, dword [edi + 0xb8]
mov ecx, dword [esi + 0x3060]
sub ecx, dword [esi + 0x305c]
mov ebx, dword [edi + 0x328]
sar ecx, 2
cmp ebx, ecx
jge 0x6798d1
mov edx, dword [esi + 0x3060]
sub edx, dword [esi + 0x305c]
sar edx, 2
cmp ebx, edx
jb 0x678db8
call fcn.006441b7
mov eax, dword [esi + 0x305c]
mov ecx, dword [eax + ebx*4]
mov eax, dword [edi + 0xbc]
mov ecx, dword [eax + ecx*4 + 4]
mov dword [eax], ecx
mov edx, dword [edi + 0xbc]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xd0]
call fcn.0057e350
mov esi, dword [esp + 0x48]
test esi, esi
je 0x678df5
mov ecx, eax
push ecx
call fcn.00433f70
mov esi, dword [esp + 0x38]
push esi
call fcn.00430aa0
mov cl, 1
mov eax, esi
call fcn.00430cc0
mov ecx, dword [esp + 0x2c]
call fcn.00436230
fstp qword [esp + 0x14]
lea ecx, [edi + 0x2b8]
mov dword [esp + 0x3c], ecx
call fcn.00436230
fmul qword [esp + 0x14]
fmul qword [0x82e540]
call fcn.0076f850
push eax
xor ebx, ebx
push ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x58]
call fcn.004348b0
mov ecx, esi
call fcn.00430c20
mov edx, dword [edi]
mov edx, dword [edx + 0x3c]
lea eax, [esp + 0x88]
push eax
mov ecx, edi
call edx
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
mov edx, ecx
imul edx, edx, 0x4b0
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x780
push eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x90]
push eax
lea ecx, [ecx + ecx*4]
neg edx
shl ecx, 5
push edx
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x94]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
neg ecx
sub ecx, eax
push ecx
call fcn.00430d10
cmp dword [esp + 0x48], ebx
je 0x678ff3
mov ecx, dword [esp + 0x2c]
call fcn.00436230
fstp qword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
call fcn.00436230
fmul qword [esp + 0x14]
fmul qword [0x82dc80]
call fcn.0076f850
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
call fcn.0076f850
push eax
mov dword [esp + 0x18], eax
push ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x58]
call fcn.004348b0
mov ecx, esi
call fcn.00430c20
mov ebx, dword [0x8816e0]
mov eax, ebx
call fcn.0045a0f0
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [edi + 0x4c]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
push eax
mov eax, ebx
call fcn.0045a0e0
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
push eax
mov eax, esi
call fcn.00431710
fld dword [esp + 0x10]
fld qword [0x82e230]
fmul st(1)
call fcn.0076f850
fmul qword [0x82e290]
push eax
call fcn.0076f850
mov edx, dword [esp + 0x18]
mov ecx, eax
lea eax, [esp + 0x54]
call fcn.00434890
mov ecx, esi
call fcn.00430c20
mov ecx, 1
mov eax, esi
call fcn.00430ca0
mov ebx, dword [0x8816e0]
mov eax, ebx
call fcn.0045a0f0
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [edi + 0x4c]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
push eax
mov eax, ebx
call fcn.0045a0e0
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
sar eax, 1
sar ecx, 1
sub eax, ecx
push eax
mov eax, esi
call fcn.00431710
xor ecx, ecx
mov eax, esi
call fcn.00430ca0
xor ebx, ebx
push ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x54]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x40], esp
push 7
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x7ae128
mov byte [ecx + 4], 0
call fcn.004016e0
mov ecx, dword [0x880920]
call fcn.006f1280
add esp, 0x2c
push ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x54]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x40], esp
push 4
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x7ae130
mov byte [ecx + 4], 0
call fcn.004016e0
mov ecx, dword [0x880920]
call fcn.006f1280
add esp, 0x2c
push ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x54]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x40], esp
push 7
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x7ae138
mov byte [ecx + 4], 0
call fcn.004016e0
mov ecx, dword [0x8809ac]
call fcn.006f1280
add esp, 0x2c
push ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x54]
call fcn.00434890
mov edx, dword [eax]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
sub esp, 0x1c
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov ecx, esp
mov dword [esp + 0x40], esp
push 4
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push 0x7ae140
mov byte [ecx + 4], 0
call fcn.004016e0
mov ecx, dword [0x8809ac]
call fcn.006f1280
add esp, 0x2c
xor ecx, ecx
push 0x15
mov word [esp + 0x58], cx
push str._sFFFFFF___s__Badge
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], ebx
call fcn.00403a80
mov edx, dword [esp + 0x24]
push ebx
push edx
lea edi, [esp + 0xbc]
mov dword [esp + 0x288], 1
call fcn.00755cb0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x284], 2
mov eax, dword [0x88b148]
push 0x47
add eax, 0x7ec
lea esi, [esp + 0x74]
call fcn.004711e0
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x24]
mov byte [esp + 0x280], 3
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0xd28]
sub ecx, dword [eax + 0xd24]
mov esi, dword [ebx + 4]
lea edi, [eax + 0xd24]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp esi, ecx
jb 0x6791fc
call fcn.006441b7
mov eax, dword [edi]
lea edx, [esi*8]
sub edx, esi
lea eax, [eax + edx*4]
mov edi, 8
cmp dword [eax + 0x18], edi
jb 0x679219
mov eax, dword [eax + 4]
jmp 0x67921c
add eax, 4
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x18], edi
jb 0x67922a
mov edx, dword [ecx + 4]
jmp 0x67922d
lea edx, [ecx + 4]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x18], edi
jb 0x67923b
mov ecx, dword [ecx + 4]
jmp 0x67923e
add ecx, 4
push eax
push edx
push ecx
lea esi, [esp + 0x214]
call fcn.00439a90
add esp, 0xc
cmp dword [esp + 0x84], edi
jb 0x679266
mov ecx, dword [esp + 0x70]
push ecx
call fcn.006441c7
add esp, 4
mov esi, 7
xor edi, edi
xor edx, edx
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], edi
mov word [esp + 0x70], dx
cmp dword [esp + 0xcc], 8
jb 0x67929c
mov eax, dword [esp + 0xb8]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0xcc], esi
mov dword [esp + 0xc8], edi
mov word [esp + 0xb8], cx
mov byte [esp + 0x280], 7
cmp dword [esp + 0x68], 8
jb 0x6792d0
mov edx, dword [esp + 0x54]
push edx
call fcn.006441c7
add esp, 4
mov edx, dword [ebx]
mov edx, dword [edx + 0x20]
xor eax, eax
mov word [esp + 0x54], ax
lea eax, [esp + 0x224]
push eax
mov ecx, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edi
call edx
mov ebx, dword [esp + 0x38]
mov byte [esp + 0x280], 8
mov ecx, dword [0x880920]
mov eax, ebx
call fcn.00430c10
mov ecx, dword [esp + 0x2c]
call fcn.00436230
fstp qword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
call fcn.00436230
fmul qword [esp + 0x14]
fmul qword [0x82dc80]
call fcn.0076f850
push eax
mov edx, 0xe0
push edi
lea ecx, [edx + 0x1f]
lea eax, [esp + 0x58]
call fcn.004348b0
mov ecx, ebx
call fcn.00430c20
push 0x13
xor eax, eax
push str.You_have_earned_the
lea ecx, [esp + 0x74]
mov dword [esp + 0x8c], 7
mov dword [esp + 0x88], edi
mov word [esp + 0x78], ax
call fcn.00403a80
lea ecx, [esp + 0x6c]
mov byte [esp + 0x280], 9
mov eax, dword [0x88b148]
push ecx
push 0x48
add eax, 0x7ec
lea esi, [esp + 0xa0]
call fcn.004711e0
mov esi, eax
mov byte [esp + 0x280], 0xa
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
imul ecx, ecx, 0x1b8
mov eax, 0x1b4e81b5
imul ecx
push 0xffffffffffffffff
push 0xffffffffffffffff
push edi
sar edx, 7
push 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
push edi
mov edi, dword [esp + 0x60]
mov eax, dword [edi + 0x4c]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
push 0xffffffffffffffff
push eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
sar eax, 1
push eax
push esi
mov ecx, ebx
call fcn.004335e0
mov esi, 8
cmp dword [esp + 0xb0], esi
jb 0x67940d
mov edx, dword [esp + 0x9c]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov byte [esp + 0x280], 8
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], 0
mov word [esp + 0x9c], ax
cmp dword [esp + 0x84], esi
jb 0x67944b
mov ecx, dword [esp + 0x70]
push ecx
call fcn.006441c7
add esp, 4
mov ecx, dword [0x8809ac]
mov eax, ebx
call fcn.00430c10
mov esi, dword [esp + 0x2c]
mov ecx, esi
call fcn.00436230
fstp qword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
call fcn.00436230
fmul qword [esp + 0x14]
fmul qword [0x82dc80]
call fcn.0076f850
push eax
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0x58]
call fcn.004348b0
mov ecx, ebx
call fcn.00430c20
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
imul ecx, ecx, 0x186
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
mov eax, dword [edi + 0x4c]
push 0xffffffffffffffff
push 0xffffffffffffffff
cdq
push 0
sub eax, edx
push 1
sar eax, 1
push 0
sub eax, ecx
push 0xffffffffffffffff
push eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
sar eax, 1
push eax
lea edx, [esp + 0x228]
push edx
mov ecx, ebx
call fcn.004335e0
mov ecx, dword [0x880920]
mov eax, ebx
call fcn.00430c10
mov ecx, esi
call fcn.00436230
fstp qword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
call fcn.00436230
fmul qword [esp + 0x14]
fmul qword [0x82dc80]
call fcn.0076f850
push eax
mov edx, 0xe0
push 0
lea ecx, [edx + 0x1f]
lea eax, [esp + 0x58]
call fcn.004348b0
mov ecx, ebx
call fcn.00430c20
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
push 0xffffffffffffffff
imul ecx, ecx, 0x190
push 0xffffffffffffffff
push 0
push 1
push 0
mov eax, 0x1b4e81b5
push 0xffffffffffffffff
imul ecx
mov eax, dword [edi + 0x4c]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
push ecx
sar eax, 1
push eax
lea edx, [esp + 0x244]
push edx
mov ecx, ebx
call fcn.004335e0
call fcn.00430bb0
push ebx
call fcn.00430aa0
mov cl, 1
mov eax, ebx
call fcn.00430cc0
mov ecx, esi
call fcn.00436230
fmul qword [0x82dc80]
call fcn.0076f850
push eax
mov edx, 0xff
push 0xff
mov ecx, edx
lea eax, [esp + 0xa0]
call fcn.004348b0
mov ecx, ebx
call fcn.00430c20
lea esi, [edi + 0x1d8]
mov ecx, esi
call fcn.00436230
fmul qword [0x82ddc8]
lea eax, [esp + 0x14c]
fadd qword [0x82e5d8]
fstp dword [esp + 0x14]
call fcn.0057e490
fld dword [esp + 0x14]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
call fcn.0057e5b0
mov ecx, esi
call fcn.00436230
fstp qword [esp + 0x2c]
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
mov edx, ecx
imul ecx, ecx, 0x69
imul edx, edx, 0xcd
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00436230
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 4]
cdq
mov ecx, 5
idiv ecx
imul edx, dword [esp + 0x14]
add edx, dword [esp + 0x10]
mov eax, dword [edi + 0x48]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fld qword [0x7a8008]
cdq
fsubrp st(2)
sub eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
fmulp st(1)
fild dword [esp + 0x14]
fmul qword [esp + 0x2c]
faddp st(1)
call fcn.0076f850
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.00436230
fstp qword [esp + 0x3c]
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
mov edx, ecx
imul ecx, ecx, 0x6e
imul edx, edx, 0xcd
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x14], eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00436230
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 4]
mov eax, 0x66666667
imul esi
mov eax, dword [edi + 0x4c]
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x10]
cdq
mov dword [esp + 0x14], ecx
sub eax, edx
fild dword [esp + 0x14]
sar eax, 1
fld qword [0x7a8008]
mov dword [esp + 0x14], eax
fsubrp st(2)
fmulp st(1)
fild dword [esp + 0x14]
fmul qword [esp + 0x3c]
faddp st(1)
call fcn.0076f850
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x7e8]
mov dword [esp + 0x14], eax
mov eax, dword [esi*4 + 0x87deb0]
lea esi, [esp + 0x44]
call fcn.00462cb0
mov byte [esp + 0x280], 0xb
mov eax, dword [edi + 0x330]
mov ecx, dword [0x88b12c]
mov eax, dword [eax*4 + 0x87df00]
mov ecx, dword [ecx + 0x7e8]
lea esi, [esp + 0x28]
call fcn.00462cb0
lea edx, [esp + 0x44]
mov byte [esp + 0x280], 0xc
push edx
lea eax, [edi + 0x334]
call fcn.0045ad30
mov eax, esi
push eax
lea eax, [edi + 0x338]
call fcn.0045ad30
fild dword [esp + 0x14]
sub esp, 8
lea ecx, [esp + 0x154]
fstp dword [esp + 0x18]
lea eax, [esp + 0x4c]
fild dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
push ecx
call fcn.0045ad90
push ebx
call fcn.004325e0
fld dword [esp + 0x10]
sub esp, 8
fstp dword [esp + 4]
lea edx, [esp + 0x154]
fld dword [esp + 0x34]
mov eax, esi
fstp dword [esp]
push edx
call fcn.0045ad90
push ebx
call fcn.004325e0
call fcn.00430bb0
mov esi, dword [esp + 0x48]
xor edi, edi
cmp esi, edi
je 0x679835
lea eax, [esp + 0xd0]
push eax
call fcn.00433f30
lea esi, [esp + 0x28]
mov byte [esp + 0x280], 0xb
call fcn.0045ad20
lea esi, [esp + 0x44]
mov byte [esp + 0x280], 8
call fcn.0045ad20
cmp dword [esp + 0x23c], 8
jb 0x679871
mov ecx, dword [esp + 0x228]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov esi, 7
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 8
mov dword [esp + 0x23c], esi
mov dword [esp + 0x238], edi
mov word [esp + 0x228], dx
jb 0x6798b3
mov eax, dword [esp + 0x20c]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x21c], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x220], esi
mov word [esp + 0x20c], cx
jmp 0x6798d5
mov ebx, dword [esp + 0x38]
mov edi, dword [edi + 0x32c]
test edi, edi
je 0x6798e5
push ebx
call fcn.00570740
mov ecx, dword [esp + 0x278]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x230]
xor ecx, esp
call fcn.00643db8
mov esp, ebp
pop ebp
ret 4