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

Disassembly:
push 0xffffffffffffffff
push 0x77df83
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x867e6c]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov esi, dword [esp + 0x10c]
mov ebp, dword [esp + 0x108]
fldz
fcomp qword [ebp + 0x668]
fnstsw ax
test ah, 1
je 0x67d695
push esi
call fcn.00430aa0
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
push eax
push ecx
mov eax, esi
call fcn.004329c0
mov edx, dword [ebp + 0x654]
mov eax, dword [ebp + 0x650]
push edx
push eax
mov eax, esi
call fcn.004329c0
lea edi, [ebp + 0x4d8]
mov ecx, edi
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x41
jne 0x67c964
push esi
mov dword [esp + 0x1c], esi
call fcn.00430aa0
push esi
mov ebx, ebp
mov dword [esp + 0x104], 0
call fcn.006668f0
mov dword [esp + 0x14], 1
mov ebp, esi
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 0x750]
push ecx
mov ecx, dword [eax*4 + 0x879520]
push ecx
push str.IMAGE_QUESTOBJECT__s_GLINT__i
lea esi, [esp + 0x44]
call fcn.00439900
add esp, 0xc
mov esi, 0x10
mov byte [esp + 0x100], 1
cmp dword [eax + 0x18], esi
jb 0x67c827
mov eax, dword [eax + 4]
jmp 0x67c82a
add eax, 4
push eax
call fcn.006e14f0
add esp, 4
mov byte [esp + 0x100], 0
mov ebx, eax
cmp dword [esp + 0x50], esi
jb 0x67c850
mov edx, dword [esp + 0x3c]
push edx
call fcn.006441c7
add esp, 4
cmp ebx, 0xffffffff
je 0x67c94b
mov eax, dword [ebx*4 + 0x879598]
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov ecx, edi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 5
jp 0x67c8ac
mov ecx, edi
call fcn.00436230
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push ecx
lea esi, [esp + 0xac]
fstp dword [esp]
call fcn.00434940
add esp, 4
mov ecx, ebp
call fcn.00430c20
mov cl, 1
mov eax, ebp
call fcn.00430cc0
mov ecx, dword [ebx*4 + 0x883088]
test ecx, ecx
jne 0x67c8bb
xor eax, eax
jmp 0x67c8be
mov eax, dword [ecx + 4]
test ecx, ecx
jne 0x67c8c6
xor esi, esi
jmp 0x67c8c8
mov esi, dword [ecx]
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
mov edx, ecx
imul ecx, esi
imul edx, eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov ebx, dword [esp + 0x24]
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
mov eax, ebp
call fcn.00431710
xor ecx, ecx
mov eax, ebp
call fcn.00430ca0
inc dword [esp + 0x14]
mov ecx, edi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 5
jp 0x67c7e5
or ecx, 0xffffffff
lea eax, [esp + 0xb8]
call fcn.00434820
mov ecx, ebp
call fcn.00430c20
jmp 0x67c7e5
mov ebx, ebp
mov dword [esp + 0x100], 0xffffffff
call fcn.00430bb0
mov ebp, dword [esp + 0x108]
xor eax, eax
cmp dword [ebp + 0x6ec], 4
lea edx, [esp + 0x60]
setge al
lea eax, [eax*4 + 4]
push eax
push edx
call fcn.0041f0c0
mov dword [esp + 0x100], 2
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov esi, eax
sub esi, edx
sar esi, 2
xor edi, edi
test esi, esi
jbe 0x67c9cb
cmp edi, esi
jb 0x67c9ab
call fcn.006441b7
mov eax, dword [esp + 0x6c]
sub esi, edi
dec esi
mov dword [eax + edi*4], esi
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ecx, eax
sub ecx, edx
mov esi, ecx
inc edi
sar esi, 2
cmp edi, esi
jb 0x67c9ab
mov ecx, eax
sub ecx, edx
sar ecx, 2
xor edi, edi
test ecx, ecx
jbe 0x67caa4
lea esp, [esp]
mov ecx, dword [ebp + 0x6e4]
sub ecx, dword [ebp + 0x6e0]
xor ebx, ebx
sar ecx, 2
test ecx, ecx
jbe 0x67ca94
lea esp, [esp]
mov edx, dword [ebp + 0x6e4]
sub edx, dword [ebp + 0x6e0]
sar edx, 2
cmp ebx, edx
jb 0x67ca1c
call fcn.006441b7
mov eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x6e0]
mov esi, dword [ecx + ebx*4]
mov edx, eax
sub edx, dword [esp + 0x6c]
sar edx, 2
cmp edi, edx
jb 0x67ca3b
call fcn.006441b7
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 0x1d0]
mov ecx, dword [esp + 0x6c]
cmp edx, dword [ecx + edi*4]
jne 0x67ca78
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x67ca58
call fcn.006441b7
mov eax, dword [esp + 0x6c]
lea esi, [eax + edi*4]
lea eax, [esp + 0x60]
call fcn.0040ab50
cmp esi, eax
je 0x67ca74
mov edx, dword [eax]
mov ecx, dword [esi]
mov dword [esi], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [ebp + 0x6e4]
sub ecx, dword [ebp + 0x6e0]
inc ebx
sar ecx, 2
cmp ebx, ecx
jb 0x67ca00
mov edx, dword [esp + 0x6c]
mov ecx, eax
sub ecx, edx
inc edi
sar ecx, 2
cmp edi, ecx
jb 0x67c9e0
mov ecx, eax
sub ecx, edx
xor esi, esi
sar ecx, 2
mov dword [esp + 0x78], esi
test ecx, ecx
jbe 0x67d65d
cmp esi, ecx
jb 0x67cac6
call fcn.006441b7
mov eax, dword [esp + 0x70]
cmp dword [ebp], 1
mov edx, dword [esp + 0x6c]
mov ebx, dword [edx + esi*4]
mov dword [esp + 0x30], ebx
jle 0x67cae0
cmp ebx, 4
jl 0x67d647
mov esi, dword [ebp + 0x688]
mov eax, dword [esi*4 + 0x883088]
test eax, eax
jne 0x67caf5
xor edi, edi
jmp 0x67caf7
mov edi, dword [eax]
cmp esi, 0xffffffff
jne 0x67cb00
xor eax, eax
jmp 0x67cb09
mov eax, dword [esi*4 + 0x879598]
mov eax, dword [eax]
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
call fcn.0045a0e0
cdq
sub eax, edx
mov edx, ecx
imul edx, edi
sar eax, 1
mov edi, eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [esi*4 + 0x883088]
test eax, eax
jne 0x67cb4c
xor edi, edi
jmp 0x67cb4f
mov edi, dword [eax + 4]
cmp esi, 0xffffffff
jne 0x67cb58
xor eax, eax
jmp 0x67cb61
mov edx, dword [esi*4 + 0x879598]
mov eax, dword [edx]
call fcn.0045a0f0
imul ecx, edi
cdq
sub eax, edx
mov esi, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
sar esi, 1
mov eax, edx
add esi, edx
shr eax, 0x1f
add eax, esi
cmp ebx, 4
mov dword [esp + 0x20], eax
lea esi, [esp + 0x8c]
jge 0x67cc64
mov eax, dword [ebp + 0x750]
mov ecx, dword [eax*4 + 0x879520]
inc ebx
push ebx
push ecx
push str.IMAGE_QUESTOBJECT__s_FILLED__i
call fcn.00439900
add esp, 0xc
mov edi, 0x10
mov byte [esp + 0x100], 3
cmp dword [eax + 0x18], edi
jb 0x67cbcb
mov edx, dword [eax + 4]
jmp 0x67cbce
lea edx, [eax + 4]
xor ebx, ebx
mov eax, edx
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x67cbe5
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.004016e0
mov byte [esp + 0x100], 4
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x50], edi
jae 0x67cc0f
lea eax, [esp + 0x3c]
push eax
call fcn.006e14f0
add esp, 4
mov esi, eax
mov dword [esp + 0x34], esi
cmp dword [esp + 0x50], edi
jb 0x67cc31
mov edx, dword [esp + 0x3c]
push edx
call fcn.006441c7
add esp, 4
mov byte [esp + 0x100], 2
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], 0
cmp dword [esp + 0xa4], edi
jb 0x67cd32
mov eax, dword [esp + 0x90]
push eax
jmp 0x67cd2a
mov ecx, dword [ebp + 0x750]
mov edx, dword [ecx*4 + 0x879520]
add ebx, 0xfffffffd
push ebx
push edx
push str.IMAGE_QUESTOBJECT__s_GREEN__i
call fcn.00439900
add esp, 0xc
mov edi, 0x10
mov byte [esp + 0x100], 5
cmp dword [eax + 0x18], edi
jb 0x67cc9a
mov edx, dword [eax + 4]
jmp 0x67cc9d
lea edx, [eax + 4]
xor ebx, ebx
mov eax, edx
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x67ccb4
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.004016e0
mov byte [esp + 0x100], 6
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x50], edi
jae 0x67ccde
lea eax, [esp + 0x3c]
push eax
call fcn.006e14f0
add esp, 4
mov esi, eax
mov dword [esp + 0x34], esi
cmp dword [esp + 0x50], edi
jb 0x67cd00
mov eax, dword [esp + 0x3c]
push eax
call fcn.006441c7
add esp, 4
mov byte [esp + 0x100], 2
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], 0
cmp dword [esp + 0xa4], edi
jb 0x67cd32
mov ecx, dword [esp + 0x90]
push ecx
call fcn.006441c7
add esp, 4
cmp esi, 0xffffffff
jne 0x67cd3b
xor edi, edi
jmp 0x67cd44
mov edx, dword [esi*4 + 0x879598]
mov edi, dword [edx]
mov esi, dword [esi*4 + 0x883088]
test esi, esi
jne 0x67cd55
mov dword [esp + 0x14], esi
jmp 0x67cd5b
mov eax, dword [esi]
mov dword [esp + 0x14], eax
mov ebx, dword [0x88b12c]
mov esi, dword [ebx + 0x9e0]
mov eax, edi
call fcn.0045a0e0
cdq
sub eax, edx
sar eax, 1
mov ecx, esi
imul ecx, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 7
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [ebp + 0x6a8]
imul ecx, esi
mov dword [esp + 0x14], eax
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x14]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
sub eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
cmp dword [ecx*4 + 0x883088], 0
mov dword [esp + 0x28], eax
jne 0x67cdd9
mov dword [esp + 0x14], 0
jmp 0x67cdeb
mov edx, dword [esp + 0x34]
mov eax, dword [edx*4 + 0x883088]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
mov eax, edi
call fcn.0045a0f0
cdq
sub eax, edx
mov edi, eax
mov ecx, esi
imul ecx, dword [esp + 0x14]
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [ebp + 0x6ac]
sar edx, 7
imul ecx, esi
sar edi, 1
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
sub eax, dword [esp + 0x20]
cmp dword [esp + 0x30], 4
mov dword [esp + 0x14], eax
jge 0x67cf5f
mov ecx, dword [esp + 0x30]
cmp ecx, dword [ebp + 0x6ec]
jge 0x67cf5f
mov eax, dword [esp + 0x34]
cmp eax, 0xffffffff
jne 0x67ce61
xor ecx, ecx
jmp 0x67ce6a
mov edx, dword [eax*4 + 0x879598]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x30]
mov edi, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x10c]
fld dword [ecx + 0xc]
mov dword [esp + 0x18], eax
fiadd dword [esp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], edi
fisub dword [esp + 0x1c]
call fcn.0076f850
mov edx, dword [esp + 0x10c]
fld dword [edx + 8]
mov esi, eax
fiadd dword [esp + 0x28]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
fisub dword [esp + 0x1c]
fiadd dword [ebx + 0x70c]
call fcn.0076f850
mov ebx, dword [ebx + 0x9e0]
mov ecx, ebx
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, ebx
mov edi, eax
add ecx, ecx
add ecx, ecx
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x2c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x18]
lea ebx, [ecx + eax*2]
mov ecx, dword [ebp + 0x628]
mov ecx, dword [ecx + 0x20]
sub edi, eax
sub esi, eax
lea eax, [edx + eax*2]
mov edx, dword [ecx + 0x110]
mov ecx, dword [ecx + 0x10c]
cmp ecx, edi
mov dword [esp + 0x18], edx
jl 0x67cf5f
lea edx, [ebx + edi]
cmp ecx, edx
jge 0x67cf5f
mov ecx, dword [esp + 0x18]
cmp ecx, esi
jl 0x67cf5f
lea edx, [eax + esi]
cmp ecx, edx
jge 0x67cf5f
mov ecx, dword [ebp + 0x628]
cdq
sub eax, edx
mov byte [ecx + 0x125], 1
mov ecx, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [ebp + 0x628]
sar ecx, 1
add ecx, esi
sar eax, 1
add eax, edi
mov dword [edx + 0x128], eax
mov dword [edx + 0x12c], ecx
mov ebx, dword [esp + 0x30]
cmp ebx, dword [ebp + 0x6ec]
jge 0x67cfe9
mov edx, dword [ebp + 0x6e4]
fld qword [0x7a8008]
sub edx, dword [ebp + 0x6e0]
fst qword [esp + 0x54]
xor esi, esi
sar edx, 2
mov dword [esp + 0x1c], esi
test edx, edx
jbe 0x67d054
fstp st(0)
mov eax, dword [ebp + 0x6e4]
sub eax, dword [ebp + 0x6e0]
sar eax, 2
cmp esi, eax
jb 0x67cfb0
call fcn.006441b7
mov ecx, dword [ebp + 0x6e0]
mov edi, dword [ecx + esi*4]
cmp dword [edi + 0x1d0], ebx
jne 0x67d034
lea ecx, [edi + 0x70]
call fcn.00436230
fcomp qword [0x87d2f0]
fnstsw ax
test ah, 0x41
jne 0x67cff1
mov ecx, edi
call fcn.00436230
fsubr qword [0x7a8008]
jmp 0x67cff3
fldz
fst qword [esp + 0x54]
jmp 0x67d054
fldz
mov ebx, dword [esp + 0x14]
fstp qword [esp + 0x54]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x10c]
push ebx
push edx
mov eax, esi
call fcn.004329c0
mov edi, dword [edi + 0x1d4]
push esi
call fcn.00570740
mov eax, dword [esp + 0x28]
neg ebx
neg eax
push ebx
push eax
mov eax, esi
call fcn.004329c0
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x6e4]
sub ecx, dword [ebp + 0x6e0]
inc esi
sar ecx, 2
mov dword [esp + 0x1c], esi
cmp esi, ecx
jb 0x67cf98
fld qword [esp + 0x54]
cmp ebx, 4
jge 0x67d2cc
fld qword [0x7a8008]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x67d2ca
mov edi, dword [esp + 0x10c]
mov cl, 1
mov eax, edi
call fcn.00430cc0
fsubrp st(1)
push ecx
lea esi, [esp + 0xcc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00434940
add esp, 4
mov ecx, edi
call fcn.00430c20
mov edx, dword [ebp + 0x750]
mov eax, dword [edx*4 + 0x879520]
inc ebx
push ebx
push eax
push str.IMAGE_QUESTOBJECT__s_GHOST__i
lea esi, [esp + 0x98]
call fcn.00439900
add esp, 0xc
mov byte [esp + 0x100], 7
cmp dword [eax + 0x18], 0x10
jb 0x67d0db
mov edx, dword [eax + 4]
jmp 0x67d0de
lea edx, [eax + 4]
mov eax, edx
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x67d0f8
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x40]
call fcn.004016e0
mov byte [esp + 0x100], 8
cmp dword [esp + 0x50], 0x10
mov eax, dword [esp + 0x3c]
jae 0x67d123
lea eax, [esp + 0x3c]
push eax
call fcn.006e14f0
mov edi, eax
add esp, 4
cmp edi, 0xffffffff
mov esi, 0x10
setne bl
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x50], esi
jb 0x67d150
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.006441c7
add esp, 4
mov byte [esp + 0x100], 2
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], 0
mov byte [esp + 0x3c], 0
cmp dword [esp + 0xa4], esi
jb 0x67d186
mov edx, dword [esp + 0x90]
push edx
call fcn.006441c7
add esp, 4
test bl, bl
je 0x67d2ce
mov eax, dword [edi*4 + 0x883088]
test eax, eax
jne 0x67d19d
xor esi, esi
jmp 0x67d19f
mov esi, dword [eax]
cmp edi, 0xffffffff
jne 0x67d1a8
xor eax, eax
jmp 0x67d1b1
mov eax, dword [edi*4 + 0x879598]
mov eax, dword [eax]
mov ebx, dword [0x88b12c]
mov edi, dword [ebx + 0x9e0]
call fcn.0045a0e0
imul esi, edi
mov ecx, dword [ebp + 0x6a8]
cdq
imul ecx, edi
sub eax, edx
sar eax, 1
mov dword [esp + 0x18], eax
mov eax, 0x1b4e81b5
imul ecx
mov eax, dword [esp + 0x18]
sar edx, 7
add eax, edx
mov ecx, edx
shr ecx, 0x1f
add ecx, eax
mov eax, 0x1b4e81b5
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
sub eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
cmp dword [ecx*4 + 0x883088], 0
mov dword [esp + 0x2c], eax
jne 0x67d21b
xor esi, esi
jmp 0x67d229
mov edx, dword [esp + 0x1c]
mov eax, dword [edx*4 + 0x883088]
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x1c]
cmp eax, 0xffffffff
jne 0x67d236
xor eax, eax
jmp 0x67d23f
mov eax, dword [eax*4 + 0x879598]
mov eax, dword [eax]
call fcn.0045a0f0
imul esi, edi
mov ecx, dword [ebp + 0x6ac]
cdq
imul ecx, edi
sub eax, edx
mov ebx, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
sar ebx, 1
add ebx, edx
mov ecx, edx
mov eax, 0x1b4e81b5
imul esi
shr ecx, 0x1f
sar edx, 7
add ecx, ebx
mov eax, edx
shr eax, 0x1f
add ecx, edx
add eax, ecx
sub eax, dword [esp + 0x20]
cmp dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x18], eax
jne 0x67d290
xor edi, edi
jmp 0x67d29d
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx*4 + 0x879598]
mov edi, dword [edx]
fld1
mov eax, dword [esp + 0x10c]
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fild dword [esp + 0x28]
fstp dword [esp + 4]
fild dword [esp + 0x3c]
fstp dword [esp]
call fcn.006f1400
add esp, 0x10
jmp 0x67d2ce
fstp st(1)
fstp st(0)
fldz
fld qword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x67d38e
cmp dword [esp + 0x78], 4
fld st(0)
jae 0x67d304
cmp dword [ebp], 1
jne 0x67d304
fstp st(0)
fld qword [0x7a8008]
fsub qword [ebp + 0x630]
fmulp st(1)
jmp 0x67d306
fstp st(1)
fld qword [0x7a8008]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x67d319
mov cl, 1
jmp 0x67d31b
xor cl, cl
mov edi, dword [esp + 0x10c]
mov eax, edi
call fcn.00430cc0
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
lea esi, [esp + 0xec]
fstp dword [esp]
call fcn.00434940
add esp, 4
mov ecx, edi
call fcn.00430c20
mov eax, dword [esp + 0x34]
cmp eax, 0xffffffff
jne 0x67d358
xor edi, edi
jmp 0x67d361
mov eax, dword [eax*4 + 0x879598]
mov edi, dword [eax]
fld1
mov eax, dword [esp + 0x10c]
sub esp, 0x10
fst dword [esp + 0xc]
fstp dword [esp + 8]
fild dword [esp + 0x24]
fstp dword [esp + 4]
fild dword [esp + 0x38]
fstp dword [esp]
call fcn.006f1400
add esp, 0x10
jmp 0x67d390
fstp st(0)
mov ecx, dword [ebp + 0x6e4]
sub ecx, dword [ebp + 0x6e0]
xor esi, esi
sar ecx, 2
mov dword [esp + 0x20], esi
test ecx, ecx
jbe 0x67d619
mov edx, dword [ebp + 0x6e4]
sub edx, dword [ebp + 0x6e0]
sar edx, 2
cmp esi, edx
jb 0x67d3c5
call fcn.006441b7
mov eax, dword [ebp + 0x6e0]
mov esi, dword [eax + esi*4]
mov ecx, dword [esi + 0x1d0]
cmp ecx, dword [esp + 0x30]
jne 0x67d5f2
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
lea ecx, [esi + 0x70]
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 5
jp 0x67d51e
mov edx, dword [0x88b12c]
fild dword [edx + 0x9e0]
fld qword [esi + 0x1c0]
fmul st(1)
fld qword [0x82dcf8]
fdiv st(1), st(0)
fild dword [esp + 0x110]
fsubp st(2)
fxch st(1)
call fcn.0076f850
fld qword [esi + 0x1c8]
fmulp st(2)
mov edi, eax
mov dword [esp + 0x2c], edi
fdivp st(1)
fisub dword [esp + 0x114]
call fcn.0076f850
mov ecx, ebx
sub ecx, edi
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
mov edx, ebp
sub edx, eax
fstp dword [esp + 0x7c]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 0x24], eax
lea edi, [esp + 0xb8]
lea eax, [esp + 0x7c]
fstp dword [esp + 0x80]
call fcn.00429340
fld dword [eax + 4]
lea ebp, [esi + 0x70]
fchs
mov ecx, ebp
fstp dword [esp + 0x84]
fld dword [eax]
fstp dword [esp + 0x88]
call fcn.00436230
lea edi, [esi + 0x150]
fstp qword [esp + 0x54]
mov ecx, edi
call fcn.00436230
fmul dword [esp + 0x84]
mov eax, dword [0x88b12c]
fimul dword [eax + 0x9e0]
fdiv qword [0x82dcf8]
fld dword [esp + 0x7c]
fmul qword [esp + 0x54]
fiadd dword [esp + 0x2c]
faddp st(1)
call fcn.0076f850
mov ecx, ebp
mov ebx, eax
call fcn.00436230
fstp qword [esp + 0x54]
mov ecx, edi
call fcn.00436230
fmul dword [esp + 0x88]
mov ecx, dword [0x88b12c]
fimul dword [ecx + 0x9e0]
fdiv qword [0x82dcf8]
fld dword [esp + 0x80]
fmul qword [esp + 0x54]
fiadd dword [esp + 0x24]
faddp st(1)
call fcn.0076f850
mov ebp, eax
mov ecx, esi
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x41
jne 0x67d5f2
mov ecx, esi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 5
jp 0x67d54e
mov cl, 1
jmp 0x67d550
xor cl, cl
mov edi, dword [esp + 0x10c]
mov eax, edi
call fcn.00430cc0
mov ecx, esi
call fcn.00436230
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
lea esi, [esp + 0xdc]
fstp dword [esp]
call fcn.00434940
add esp, 4
mov ecx, edi
call fcn.00430c20
mov eax, dword [0x8807c8]
add eax, 0xf78
call fcn.0057e0f0
mov edx, dword [0x88b12c]
fild dword [edx + 0x9e0]
mov esi, dword [0x8807c8]
sub esp, 8
add esi, 0xf78
fdiv qword [0x82dcf8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esp + 4]
fstp dword [esp]
call fcn.0057e450
push ebp
push ebx
mov eax, edi
call fcn.004329c0
push edi
mov edi, dword [0x8807c8]
call fcn.00570740
mov eax, dword [esp + 0x10c]
neg ebp
push ebp
neg ebx
push ebx
call fcn.004329c0
mov ebp, dword [esp + 0x108]
mov eax, dword [ebp + 0x6e4]
sub eax, dword [ebp + 0x6e0]
mov esi, dword [esp + 0x20]
inc esi
sar eax, 2
mov dword [esp + 0x20], esi
cmp esi, eax
jb 0x67d3ad
or ecx, 0xffffffff
lea eax, [esp + 0xa8]
call fcn.00434820
mov esi, dword [esp + 0x10c]
mov ecx, esi
call fcn.00430c20
xor cl, cl
mov eax, esi
call fcn.00430cc0
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x78]
mov ecx, eax
sub ecx, dword [esp + 0x6c]
inc esi
sar ecx, 2
mov dword [esp + 0x78], esi
cmp esi, ecx
jb 0x67cac6
mov ebx, dword [esp + 0x10c]
call fcn.00430bb0
mov eax, dword [esp + 0x6c]
xor esi, esi
cmp eax, esi
je 0x67d67c
push eax
call fcn.006441c7
add esp, 4
mov ecx, dword [esp + 0x60]
push ecx
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
call fcn.006441c7
add esp, 4
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xf0
ret 0x10