Function at 0x68a5c0
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x783382
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
xor eax, eax
mov edi, ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0x60], eax
call fcn.00466ae0
lea ecx, [edi + 0x630]
mov dword [esp + 0x64], ecx
jmp 0x68a620
inc eax
push eax
push str.IMAGE_QUESTMENU_PROGRESS__d_1
lea esi, [esp + 0xb4]
mov dword [esp + 0x64], eax
call fcn.00439900
add esp, 8
xor ecx, ecx
mov ebx, 0x10
mov dword [esp + 0x280], ecx
cmp dword [eax + 0x18], ebx
jb 0x68a652
mov edx, dword [eax + 4]
jmp 0x68a655
lea edx, [eax + 4]
mov eax, edx
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], ecx
mov byte [esp + 0x8c], 0
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x68a674
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x90]
call fcn.004016e0
mov byte [esp + 0x280], 1
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0xa0], ebx
jae 0x68a6aa
lea eax, [esp + 0x8c]
push eax
call fcn.006e14f0
add esp, 4
mov ebx, eax
cmp ebx, 0xffffffff
mov esi, 0x10
setne byte [esp + 0x5b]
cmp dword [esp + 0xa0], esi
jb 0x68a6db
mov edx, dword [esp + 0x8c]
push edx
call fcn.006441c7
add esp, 4
mov dword [esp + 0x280], 0xffffffff
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], 0
mov byte [esp + 0x8c], 0
cmp dword [esp + 0xc4], esi
jb 0x68a71d
mov eax, dword [esp + 0xb0]
push eax
call fcn.006441c7
add esp, 4
cmp byte [esp + 0x5b], 0
je 0x68a796
cmp ebx, 0xffffffff
jne 0x68a72d
xor esi, esi
jmp 0x68a736
mov ecx, dword [ebx*4 + 0x879598]
mov esi, dword [ecx]
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0x9e0]
mov eax, esi
call fcn.0045a0f0
imul eax, eax, 0x4b0
cdq
idiv ecx
mov dword [esp + 0x54], eax
mov eax, esi
call fcn.0045a0e0
imul eax, eax, 0x4b0
cdq
idiv ecx
mov ecx, dword [ebx*4 + 0x883088]
test ecx, ecx
jne 0x68a775
xor esi, esi
jmp 0x68a778
mov esi, dword [ecx + 4]
test ecx, ecx
je 0x68a77e
mov ecx, dword [ecx]
mov edx, dword [esp + 0x64]
mov dword [edx], ecx
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc], eax
mov esi, 0x10
mov eax, dword [esp + 0x5c]
add dword [esp + 0x64], esi
cmp eax, 5
jl 0x68a620
fld dword [0x82e978]
mov esi, dword [edi + 0x14c]
fstp dword [esp + 0x64]
mov ebx, 3
fld dword [esp + 0x64]
mov ecx, dword [edi + esi*4 + 0x608]
mov eax, dword [ecx]
cmp eax, 2
je 0x68a7df
cmp eax, 1
je 0x68a7df
test eax, eax
jne 0x68a7f1
cmp dword [ecx + 0x6ec], ebx
jne 0x68a7f1
push ecx
fstp dword [esp]
push ecx
call fcn.0066a630
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
lea eax, [esi + 1]
fldz
cdq
fcomp st(1)
mov ecx, 5
idiv ecx
fnstsw ax
mov esi, edx
test ah, 1
je 0x68a811
cmp dword [edi + 0x14c], esi
jne 0x68a7c0
cmp byte [edi + 0x64], 0
fstp st(0)
je 0x68dbb5
cmp dword [edi + 0x14c], 0
mov ecx, dword [edi + 0x118]
mov edx, dword [ecx]
mov edx, dword [edx + 0x94]
sete al
movzx eax, al
push eax
call edx
mov eax, dword [0x88b12c]
call fcn.0046b580
test al, al
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
mov edx, ecx
mov eax, 0x1b4e81b5
je 0x68a908
imul edx, edx, 0x4b0
imul ecx, ecx, 0x336
imul edx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov esi, edx
shr esi, 0x1f
lea ecx, [edi + 0x588]
add esi, edx
call fcn.00436230
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x9e0]
mov ecx, dword [edi + 0x4c4]
mov ecx, dword [ecx]
mov dword [esp + 0x5c], eax
imul eax, eax, 0x4b0
mov dword [esp + 0x68], ecx
mov ecx, eax
lea edx, [esi + esi*4]
push ebx
push edx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fmulp st(1)
call fcn.0076f850
fld qword [edi + 0x138]
fmul qword [0x82eae0]
push eax
fsubr qword [0x82ead8]
fimul dword [esp + 0x68]
fdiv qword [0x82dcf8]
call fcn.0076f850
push eax
mov eax, dword [esp + 0x78]
jmp 0x68a9ad
imul edx, edx, 0x4b0
imul ecx, ecx, 0x3c0
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ebx, edx
shr ebx, 0x1f
lea ecx, [edi + 0x588]
add ebx, edx
call fcn.00436230
mov edx, dword [0x88b12c]
mov eax, dword [edx + 0x9e0]
mov ecx, dword [edi + 0x4c4]
mov ecx, dword [ecx]
mov dword [esp + 0x5c], eax
imul eax, eax, 0x4b0
mov dword [esp + 0x68], ecx
mov ecx, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x54], eax
push esi
push ebx
fild dword [esp + 0x5c]
fmulp st(1)
call fcn.0076f850
fld qword [edi + 0x138]
fmul qword [0x82df80]
push eax
fadd qword [0x82e0e0]
fimul dword [esp + 0x68]
fdiv qword [0x82dcf8]
fldz
fsubrp st(1)
call fcn.0076f850
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [edi + 0x4c4]
mov edx, dword [eax + 0xa0]
call edx
mov esi, edi
call fcn.0067ded0
test al, al
je 0x68ac2f
mov eax, dword [edi + 0x38]
mov dword [esp + 0x5c], eax
dec eax
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
push ecx
fmul qword [0x82e608]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099c0
fadd qword [0x7a8008]
fstp dword [esp + 0x6c]
fild dword [esp + 0x60]
fmul qword [0x82e608]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099c0
fadd qword [0x7a8008]
add esp, 4
fstp dword [esp + 0x54]
fld dword [0x82dfd4]
fcom dword [esp + 0x68]
fnstsw ax
test ah, 0x41
jne 0x68aa8c
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 0x41
jp 0x68aa8e
lea ecx, [edi + 0x260]
call fcn.00436230
fldz
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x68aa8c
mov eax, dword [edi + 0x130]
cmp eax, 5
jge 0x68aa8c
sub esp, 0x10
inc eax
fstp qword [esp + 8]
mov dword [edi + 0x130], eax
fld qword [0x7a8008]
mov edx, dword [0x881d5c]
fstp qword [esp]
mov eax, dword [0x88b12c]
push 0
call fcn.007488f0
jmp 0x68aa8e
fstp st(0)
lea ecx, [edi + 0x260]
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x68ac2f
cmp dword [edi + 0x14c], 0
jne 0x68ac2f
mov eax, dword [edi + 0x608]
mov ecx, dword [eax + 0x6e4]
sub ecx, dword [eax + 0x6e0]
test ecx, 0xfffffffc
jne 0x68ac2f
mov ecx, dword [eax]
cmp ecx, 1
je 0x68ac2f
cmp ecx, 3
je 0x68ac2f
cmp dword [eax + 0x6ec], 4
jne 0x68ac2f
push str.New_Relic_Unlocked_
lea ecx, [esp + 0xb0]
call fcn.00403550
mov dword [esp + 0x280], 2
mov ebx, dword [0x88b12c]
mov ecx, dword [ebx + 0x9e0]
mov edx, ecx
imul ecx, ecx, 0xffffff1a
imul edx, edx, 0x85
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [edi + 0x114]
mov ecx, dword [edx + 0x44]
mov edx, dword [edx + 0x40]
add edx, eax
sub esp, 8
mov eax, esp
mov dword [eax], edx
add ecx, esi
mov dword [eax + 4], ecx
mov ecx, dword [ebx + 0x9e0]
lea edx, [ecx*4]
sub edx, ecx
imul ecx, ecx, 0x10e
neg edx
add edx, edx
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov dword [esp + 0x54], esp
mov eax, edx
push 0xffffff
shr eax, 0x1f
add eax, edx
push eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
push 0x32
mov ecx, edx
shr ecx, 0x1f
push 4
add ecx, edx
push ecx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x84], esp
push 0x7ac448
xor ebx, ebx
call fcn.00403550
sub esp, 0x1c
mov byte [esp + 0x2d4], 3
mov eax, dword [0x88b148]
mov esi, esp
mov dword [esp + 0xb0], esp
lea edx, [esp + 0x100]
push edx
push 0x1a4
add eax, 0x7ec
call fcn.004711e0
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0xbe8]
push edi
mov edx, ebx
push ecx
mov ecx, edx
mov byte [esp + 0x2dc], 2
call fcn.0066abb0
mov dword [esp + 0x280], 0xffffffff
lea ecx, [esp + 0xac]
call fcn.00406fb0
mov esi, dword [0x88b12c]
mov ecx, dword [edi + 0x14c]
mov esi, dword [esi + 0xb78]
xor edx, edx
mov dword [esp + 0x15c], 0x5c0
mov dword [esp + 0x160], 0x592
mov dword [esp + 0x164], 0x580
mov dword [esp + 0x168], 0x58f
mov dword [esp + 0x16c], 0x590
mov dword [esp + 0x170], 0x5be
mov dword [esp + 0x174], 0x593
mov dword [esp + 0x178], 0x5c1
xor eax, eax
lea ecx, [esi + ecx*8 + 0x158]
cmp byte [eax + ecx], 0
je 0x68acab
inc edx
inc eax
cmp eax, 8
jl 0x68aca4
fld qword [edi + 0x138]
mov dword [esp + 0x64], edx
fadd qword [0x87d2f0]
call fcn.0076f850
lea ecx, [eax*8]
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
lea edx, [eax*8 + 0x158]
imul eax, eax, 0x1e0
fstp qword [esp + 0x17c]
add edi, 0x4ec
mov dword [esp + 0x7c], 0
mov dword [esp + 0xf4], edx
mov dword [esp + 0x70], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0x80], edi
mov ebx, ecx
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + edx*4 + 0x15c]
xor edi, edi
mov dword [esp + 0x68], eax
cmp eax, 0xffffffff
jne 0x68ad31
mov dword [esp + 0xf0], edi
jmp 0x68ad41
mov eax, dword [eax*4 + 0x879598]
mov ecx, dword [eax]
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x74]
fld qword [eax + 0x138]
fsub qword [esp + 0x17c]
fabs
fmul qword [0x82dc00]
fsubr qword [0x7a8008]
fstp dword [esp + 0x78]
fild dword [eax + 0x14c]
fsubr qword [eax + 0x138]
fabs
fcomp qword [0x87d2f0]
fnstsw ax
test ah, 1
jne 0x68ad85
fldz
fstp dword [esp + 0x78]
push 9
push 0x7ac474
lea ecx, [esp + 0xd0]
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], edi
mov byte [esp + 0xd4], 0
call fcn.004016e0
mov dword [esp + 0x280], 4
mov edx, dword [0x88b12c]
mov esi, dword [edx + 0xbc4]
mov ecx, dword [esi + 0x98]
sub ecx, dword [esi + 0x94]
add esi, 0x88
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x68adf7
call fcn.006441b7
mov esi, dword [esi + 0xc]
add esi, dword [esp + 0xa8]
lea ecx, [esp + 0xc8]
push ecx
lea ecx, [esi + 0x1c]
call fcn.004035d0
push 0xffffffffffffffff
push edi
xor edx, edx
push eax
lea ecx, [esp + 0x214]
mov dword [esp + 0x22c], 7
mov dword [esp + 0x228], edi
mov word [esp + 0x218], dx
call fcn.00401880
mov byte [esp + 0x280], 6
cmp dword [esp + 0xe0], 0x10
jb 0x68ae5f
mov eax, dword [esp + 0xcc]
push eax
call fcn.006441c7
add esp, 4
mov eax, 0xf
push 4
push 0x7ac480
lea ecx, [esp + 0x110]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe4], edi
mov byte [esp + 0xd4], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x124], edi
mov byte [esp + 0x114], 0
call fcn.004016e0
mov byte [esp + 0x280], 7
mov ecx, dword [0x88b12c]
mov esi, dword [ecx + 0xbc4]
mov ecx, dword [esi + 0x98]
sub ecx, dword [esi + 0x94]
add esi, 0x88
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x68aee5
call fcn.006441b7
mov esi, dword [esi + 0xc]
add esi, dword [esp + 0xa8]
lea ecx, [esp + 0x108]
push ecx
lea ecx, [esi + 0x1c]
call fcn.004035d0
push 0xffffffffffffffff
push edi
xor edx, edx
push eax
lea ecx, [esp + 0x230]
mov dword [esp + 0x248], 7
mov dword [esp + 0x244], edi
mov word [esp + 0x234], dx
call fcn.00401880
mov byte [esp + 0x280], 9
cmp dword [esp + 0x120], 0x10
jb 0x68af4d
mov eax, dword [esp + 0x10c]
push eax
call fcn.006441c7
add esp, 4
fld dword [esp + 0x78]
xor ecx, ecx
cmp dword [esp + 0x7c], 4
fmul qword [0x82ead0]
mov dword [esp + 0x120], 0xf
setge cl
fstp qword [esp + 0x1ac]
mov dword [esp + 0x11c], edi
mov byte [esp + 0x10c], 0
mov dword [esp + 0xa4], edi
lea ecx, [ecx + ecx - 1]
imul ecx, ecx, 0x32
mov dword [esp + 0x54], ecx
fild dword [esp + 0x54]
fstp qword [esp + 0x1b4]
mov esi, dword [esp + 0x74]
mov edx, dword [esi + 0x4bc]
mov ebx, dword [esi + 0x4a4]
add esi, 0x4a4
lea eax, [esp + 0x208]
push eax
lea ecx, [esp + 0xfc]
push ecx
mov dword [esp + 0x194], edx
call fcn.0042c4c0
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x68afdd
cmp eax, ebx
je 0x68afe2
call fcn.006441b7
mov edx, dword [esp + 0x18c]
cmp dword [edi + 4], edx
je 0x68aff8
lea eax, [esp + 0x208]
push eax
jmp 0x68b000
lea ecx, [esp + 0x224]
push ecx
push esi
call fcn.0042c340
cmp dword [esp + 0xa4], 0
mov edx, dword [eax + 4]
mov dword [esp + 0x84], edx
jne 0x68b054
mov ecx, dword [esp + 0x80]
mov edi, dword [ecx - 0x20]
mov edx, dword [0x88b12c]
mov ecx, dword [edx + 0xb78]
add ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x7c]
cmp byte [ecx + edx], 0
mov eax, dword [eax]
sete cl
mov dword [esp + 0x78], eax
mov byte [edi + 0x64], cl
cmp eax, 0xffffffff
jne 0x68b081
xor ebx, ebx
jmp 0x68b08e
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0xb78]
mov edx, dword [esp + 0x80]
mov edi, dword [edx]
add ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x7c]
mov al, byte [ecx + edx]
mov dword [esp + 0x78], 0x5bd
mov byte [edi + 0x64], al
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx*4 + 0x879598]
mov ebx, dword [edx]
mov esi, dword [esp + 0x74]
lea ecx, [esi + 0x518]
call fcn.00436230
fldz
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x68b0b1
mov eax, 1
jmp 0x68b0b3
xor eax, eax
fld qword [esp + 0x1ac]
mov byte [edi + 0x65], al
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x68b114
fld st(0)
fld qword [0x7a8008]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x68b112
fstp st(1)
fstp st(1)
lea ecx, [esi + 0x420]
fstp qword [esp + 0x4c]
call fcn.00436230
fsubr qword [0x7a8008]
mov eax, dword [esp + 0x84]
mov dword [edi + 0xe0], ebx
fmul qword [esp + 0x4c]
fstp dword [edi + 0x160]
cmp eax, 0xffffffff
jne 0x68b121
xor eax, eax
jmp 0x68b12a
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x68b0db
fstp st(0)
jmp 0x68b0dd
mov eax, dword [eax*4 + 0x879598]
mov eax, dword [eax]
mov dword [edi + 0x178], eax
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], eax
push eax
cmp dword [esp + 0xa8], eax
jne 0x68b240
lea esi, [esp + 0x1dc]
mov ecx, ebx
call fcn.0045a130
mov ecx, dword [eax]
mov dword [edi + 0xf4], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0xf8], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0xfc], ecx
mov edx, dword [eax + 0xc]
push 1
lea esi, [esp + 0x1ec]
mov ecx, ebx
mov dword [edi + 0x100], edx
call fcn.0045a130
mov ecx, dword [eax]
mov dword [edi + 0x104], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x108], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x10c], ecx
mov edx, dword [eax + 0xc]
push 2
lea esi, [esp + 0x1fc]
mov ecx, ebx
mov dword [edi + 0x110], edx
call fcn.0045a130
mov ecx, dword [eax]
mov dword [edi + 0x114], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x118], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x11c], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x84]
mov dword [edi + 0x120], edx
mov eax, dword [eax*4 + 0x883088]
test eax, eax
jne 0x68b1f5
xor ecx, ecx
jmp 0x68b1f7
mov ecx, dword [eax]
mov eax, 0x590
call fcn.006e1370
sub ecx, eax
mov dword [edi + 0x17c], ecx
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx*4 + 0x883088]
test eax, eax
jne 0x68b21f
xor ecx, ecx
jmp 0x68b222
mov ecx, dword [eax + 4]
mov eax, 0x590
call fcn.006e1360
sub ecx, eax
mov dword [edi + 0x180], ecx
mov ecx, dword [esp + 0xf0]
jmp 0x68b3c4
xor eax, eax
xor ecx, ecx
mov edx, 1
mov dword [edi + 0xf4], eax
mov dword [edi + 0xf8], ecx
mov esi, edx
mov dword [edi + 0xfc], edx
mov dword [edi + 0x100], esi
lea esi, [esp + 0x194]
mov ecx, ebx
call fcn.0045a130
mov edx, dword [eax]
mov dword [edi + 0x168], edx
mov ecx, dword [eax + 4]
mov dword [edi + 0x16c], ecx
mov edx, dword [eax + 8]
mov dword [edi + 0x170], edx
mov eax, dword [eax + 0xc]
push 1
lea esi, [esp + 0x1c0]
mov ecx, ebx
mov dword [edi + 0x174], eax
call fcn.0045a130
mov ecx, dword [eax]
mov dword [edi + 0x104], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x108], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x10c], ecx
mov edx, dword [eax + 0xc]
push 2
lea esi, [esp + 0x128]
mov ecx, ebx
mov dword [edi + 0x110], edx
call fcn.0045a130
mov ecx, dword [eax]
mov dword [edi + 0x114], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x118], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x11c], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x84]
mov dword [edi + 0x120], edx
mov eax, dword [eax*4 + 0x883088]
test eax, eax
je 0x68b30e
mov eax, dword [eax]
mov edx, dword [esp + 0x78]
mov ecx, dword [edx*4 + 0x883088]
test ecx, ecx
je 0x68b31f
mov ecx, dword [ecx]
sub eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [edi + 0x17c], eax
mov eax, dword [ecx*4 + 0x883088]
test eax, eax
je 0x68b33c
mov eax, dword [eax + 4]
mov ecx, dword [edx*4 + 0x883088]
test ecx, ecx
je 0x68b34a
mov ecx, dword [ecx + 4]
mov edx, dword [0x88b12c]
sub eax, ecx
mov dword [edi + 0x180], eax
mov esi, dword [edx + 0x9e0]
mov eax, 0x5bd
call fcn.006e1370
mov ecx, eax
mov eax, 0x590
call fcn.006e1370
sub ecx, eax
imul ecx, esi
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x54], eax
mov eax, 0x5bd
call fcn.006e1360
mov ecx, eax
mov eax, 0x590
call fcn.006e1360
sub ecx, eax
imul ecx, esi
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [0x8824f8]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x5c], eax
call fcn.0045a110
mov ebx, eax
call fcn.0045a100
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x68]
call fcn.006e1360
mov edx, dword [0x88b12c]
mov ecx, eax
imul ecx, dword [edx + 0x9e0]
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x74]
sar edx, 7
mov esi, edx
shr esi, 0x1f
add ecx, 0x518
add esi, edx
call fcn.00436230
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0x9e0]
fstp qword [esp + 0xe4]
imul ecx, ecx, 0x44c
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x74]
add ecx, 0x420
call fcn.00436230
mov eax, dword [esp + 0x68]
call fcn.006e1370
mov edx, dword [0x88b12c]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x84], eax
fild dword [esp + 0x84]
push ecx
fxch st(1)
push ebx
fmul qword [esp + 0x1bc]
faddp st(1)
fimul dword [edx + 0x9e0]
mov edx, dword [esp + 0x64]
add esi, edx
fdiv qword [0x82dcf8]
fild dword [esp + 0x54]
mov dword [esp + 0x54], esi
fmul qword [esp + 0xec]
fild dword [esp + 0x54]
faddp st(1)
call fcn.0076f850
fiadd dword [esp + 0x5c]
push eax
call fcn.0076f850
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0xa0]
mov ecx, edi
call eax
cmp dword [esp + 0xa4], 0
jne 0x68b51b
mov ecx, dword [0x88b12c]
mov eax, dword [ecx + 0x9e0]
lea ecx, [eax + eax*4]
shl ecx, 4
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push ecx
mov edx, ecx
lea eax, [esp + 0x148]
call fcn.004348b0
mov edx, dword [eax]
mov dword [edi + 0x84], edx
mov ecx, dword [eax + 4]
mov dword [edi + 0x88], ecx
mov edx, dword [eax + 8]
mov dword [edi + 0x8c], edx
mov eax, dword [eax + 0xc]
mov dword [edi + 0x90], eax
jmp 0x68b552
push 0
push 0
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x90]
call fcn.004348b0
mov ecx, dword [eax]
mov dword [edi + 0x84], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x88], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x8c], ecx
mov edx, dword [eax + 0xc]
mov dword [edi + 0x90], edx
cmp byte [edi + 0x64], 0
fld qword [0x82e0a0]
fst qword [edi + 0x148]
fstp qword [edi + 0x150]
je 0x68ba11
cmp byte [edi + 0x69], 0
je 0x68ba11
mov esi, dword [esp + 0x74]
mov eax, dword [esi + 0x178]
test eax, eax
je 0x68b59f
lea ecx, [eax + 0x30]
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x68ba11
mov eax, dword [esi + 0x14c]
mov eax, dword [esi + eax*4 + 0x608]
mov ecx, dword [eax + 0x6e4]
sub ecx, dword [eax + 0x6e0]
test ecx, 0xfffffffc
jne 0x68ba11
mov eax, dword [eax]
cmp eax, 1
je 0x68ba11
cmp eax, 3
je 0x68ba11
cmp dword [esp + 0x7c], 4
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], 0
mov byte [esp + 0xcc], 0
push 0xb
lea ecx, [esp + 0xcc]
jge 0x68b7d9
push 0x7ac488
call fcn.004016e0
mov byte [esp + 0x280], 0xa
mov edx, dword [0x88b12c]
mov ebx, dword [edx + 0x9e0]
mov ecx, ebx
imul ecx, ecx, 0xffffff60
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov esi, edx
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
add ecx, ecx
add ecx, ecx
shr esi, 0x1f
add esi, edx
mov eax, 0x1b4e81b5
imul ecx
mov eax, dword [edi + 0x4c]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x40]
sub esp, 8
add eax, esi
mov esi, dword [0x88b12c]
add eax, ecx
mov ecx, esp
sar ebx, 1
add ebx, dword [edi + 0x44]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov eax, dword [esi + 0x9e0]
mov esi, dword [esi + 0xbc4]
lea ecx, [eax + eax*4]
shl ecx, 6
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x7c]
sar edx, 7
mov dword [esp + 0x54], esp
push 0xffffffffffffffff
mov eax, edx
push 0
shr eax, 0x1f
add eax, edx
mov edx, dword [ecx + 0x14c]
mov ecx, dword [esi + 0x98]
sub ecx, dword [esi + 0x94]
xor ebx, ebx
push ebx
add esi, 0x88
push 2
push eax
mov eax, dword [esp + 0x98]
lea edi, [eax + edx*8]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jb 0x68b6fc
call fcn.006441b7
mov eax, dword [esi + 0xc]
mov edx, edi
shl edx, 4
sub edx, edi
lea ecx, [esp + 0xe4]
lea eax, [eax + edx*4]
push ecx
lea ecx, [eax + 0x1c]
call fcn.004035d0
mov edx, eax
lea eax, [esp + 0xc8]
call fcn.00438d70
sub esp, 0x1c
mov byte [esp + 0x2b8], 0xb
mov esi, esp
mov dword [esp + 0x84], esp
push eax
mov edx, 0x7ac494
call fcn.00406c30
add esp, 4
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov byte [esp + 0x2b8], 0xc
mov eax, dword [edx + 0x14c]
mov edx, dword [0x88b12c]
mov esi, dword [edx + 0xbc4]
lea edi, [ecx + eax*8]
mov ecx, dword [esi + 0x98]
sub ecx, dword [esi + 0x94]
add esi, 0x88
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x68b7a2
call fcn.006441b7
mov edx, dword [esi + 0xc]
mov ecx, edi
shl ecx, 4
sub esp, 0x1c
sub ecx, edi
lea edx, [edx + ecx*4]
mov eax, esp
mov dword [esp + 0xa8], esp
call fcn.00438d70
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0xbe8]
mov byte [esp + 0x2d4], 0xb
jmp 0x68b9a7
push 0x7ac4a8
call fcn.004016e0
mov byte [esp + 0x280], 0xd
mov eax, dword [0x88b12c]
mov ebx, dword [eax + 0x9e0]
mov ecx, ebx
imul ecx, ecx, 0xffffff60
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
neg ecx
add ecx, ecx
mov esi, edx
add ecx, ecx
shr esi, 0x1f
add esi, edx
mov eax, 0x1b4e81b5
imul ecx
mov eax, dword [edi + 0x4c]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
sub eax, edx
mov ebx, eax
mov eax, dword [edi + 0x48]
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x40]
sub esp, 8
add eax, esi
mov esi, dword [0x88b12c]
add eax, ecx
mov ecx, esp
sar ebx, 1
add ebx, dword [edi + 0x44]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov eax, dword [esi + 0x9e0]
mov esi, dword [esi + 0xbc4]
lea ecx, [eax + eax*4]
shl ecx, 6
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov dword [esp + 0x54], esp
push 0xffffffffffffffff
mov ecx, edx
push 0
shr ecx, 0x1f
add ecx, edx
mov edx, dword [esp + 0x84]
mov eax, dword [edx + 0x14c]
xor ebx, ebx
push ebx
push 3
push ecx
mov ecx, dword [esp + 0x98]
lea edi, [ecx + eax*8]
mov ecx, dword [esi + 0x98]
sub ecx, dword [esi + 0x94]
add esi, 0x88
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x68b8cf
call fcn.006441b7
mov edx, dword [esi + 0xc]
mov ecx, edi
shl ecx, 4
sub ecx, edi
lea eax, [edx + ecx*4]
lea ecx, [esp + 0xe4]
push ecx
lea ecx, [eax + 0x1c]
call fcn.004035d0
mov edx, eax
lea eax, [esp + 0xc8]
call fcn.00438d70
sub esp, 0x1c
mov byte [esp + 0x2b8], 0xe
mov esi, esp
mov dword [esp + 0x84], esp
push eax
mov edx, 0x7ac4b4
call fcn.00406c30
add esp, 4
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xb4]
mov byte [esp + 0x2b8], 0xf
mov eax, dword [edx + 0x14c]
mov edx, dword [0x88b12c]
mov esi, dword [edx + 0xbc4]
lea edi, [ecx + eax*8]
mov ecx, dword [esi + 0x98]
sub ecx, dword [esi + 0x94]
add esi, 0x88
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x68b975
call fcn.006441b7
mov edx, dword [esi + 0xc]
mov ecx, edi
shl ecx, 4
sub esp, 0x1c
sub ecx, edi
lea edx, [edx + ecx*4]
mov eax, esp
mov dword [esp + 0xa8], esp
call fcn.00438d70
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0xbe8]
mov byte [esp + 0x2d4], 0xe
mov eax, dword [esp + 0xc8]
push eax
push edx
mov edx, ebx
xor ecx, ecx
call fcn.0066abb0
cmp dword [esp + 0xc4], 8
jb 0x68b9d3
mov eax, dword [esp + 0xb0]
push eax
call fcn.006441c7
add esp, 4
mov byte [esp + 0x280], 9
xor ecx, ecx
cmp dword [esp + 0xe0], 0x10
mov word [esp + 0xb0], cx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], 7
jb 0x68ba11
mov edx, dword [esp + 0xcc]
push edx
call fcn.006441c7
add esp, 4
mov eax, dword [esp + 0xa4]
inc eax
cmp eax, 1
mov dword [esp + 0xa4], eax
jle 0x68af9f
mov esi, 8
cmp dword [esp + 0x23c], esi
jb 0x68ba47
mov eax, dword [esp + 0x228]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x280], 0xffffffff
mov dword [esp + 0x23c], 7
mov dword [esp + 0x238], 0
mov word [esp + 0x228], cx
cmp dword [esp + 0x220], esi
jb 0x68ba8b
mov edx, dword [esp + 0x20c]
push edx
call fcn.006441c7
add esp, 4
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x70]
add dword [esp + 0xa8], 0x3c
add dword [esp + 0x80], 4
inc eax
inc ebx
cmp eax, esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], ebx
jl 0x68ad12
mov ebx, dword [esp + 0x74]
cmp byte [ebx + 0x125], 0
je 0x68bd53
push 0x30
xor eax, eax
mov edi, 7
xor esi, esi
push str.Fill_in_all_four_Quest_Orbs_to_reveal_the_Relic.
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov word [esp + 0x214], ax
call fcn.00403a80
mov dword [esp + 0x280], 0x10
xor ecx, ecx
push 9
mov word [esp + 0x22c], cx
push str.Quest_Orb
lea ecx, [esp + 0x22c]
mov dword [esp + 0x244], edi
mov dword [esp + 0x240], esi
call fcn.00403a80
sub esp, 8
mov eax, esp
mov byte [esp + 0x288], 0x11
mov edx, dword [ebx + 0x128]
mov dword [eax], edx
mov ecx, dword [ebx + 0x12c]
mov edx, dword [0x88b12c]
mov dword [eax + 4], ecx
mov eax, dword [edx + 0x9e0]
lea ecx, [eax + eax*4]
shl ecx, 6
mov eax, 0x1b4e81b5
imul ecx
mov dword [esp + 0x54], esp
push 0xffffffffffffffff
push esi
sar edx, 7
push 0x1e
mov eax, edx
shr eax, 0x1f
push 2
add eax, edx
push eax
mov eax, dword [0x88b148]
lea ecx, [esp + 0x224]
push ecx
push 0x23b
add eax, 0x7ec
lea esi, [esp + 0xec]
call fcn.004711e0
mov byte [esp + 0x29c], 0x12
cmp dword [eax + 0x18], 8
jb 0x68bbb1
mov esi, dword [eax + 4]
jmp 0x68bbb4
lea esi, [eax + 4]
sub esp, 0x1c
mov ecx, esp
mov dword [ecx + 0x18], edi
xor edx, edx
mov eax, esi
mov dword [ecx + 0x14], 0
mov dword [esp + 0x84], esp
mov word [ecx + 4], dx
lea edi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x68bbd5
sub eax, edi
sar eax, 1
push eax
push esi
call fcn.00403a80
lea eax, [esp + 0x25c]
push eax
mov byte [esp + 0x2bc], 0x13
mov eax, dword [0x88b148]
push 0x23a
add eax, 0x7ec
lea esi, [esp + 0xec]
call fcn.004711e0
mov byte [esp + 0x2b8], 0x14
cmp dword [eax + 0x18], 8
jb 0x68bc29
mov esi, dword [eax + 4]
jmp 0x68bc2c
lea esi, [eax + 4]
sub esp, 0x1c
mov ecx, esp
xor edx, edx
mov eax, esi
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], 0
mov dword [esp + 0xa8], esp
mov word [ecx + 4], dx
lea edi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x68bc51
sub eax, edi
sar eax, 1
push eax
push esi
call fcn.00403a80
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0xbe8]
push ebx
push ecx
xor edx, edx
xor ecx, ecx
mov byte [esp + 0x2dc], 0x15
call fcn.0066abb0
cmp dword [esp + 0xc4], 8
jb 0x68bc9f
mov edx, dword [esp + 0xb0]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov edi, 8
mov esi, 7
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], 0
mov word [esp + 0xb0], ax
cmp dword [esp + 0xe0], edi
jb 0x68bcde
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], 0
mov word [esp + 0xcc], dx
cmp dword [esp + 0x23c], edi
jb 0x68bd13
mov eax, dword [esp + 0x228]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x280], 0xffffffff
mov dword [esp + 0x23c], esi
mov dword [esp + 0x238], 0
mov word [esp + 0x228], cx
cmp dword [esp + 0x220], edi
jb 0x68bd53
mov edx, dword [esp + 0x20c]
push edx
call fcn.006441c7
add esp, 4
lea ecx, [ebx + 0x518]
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x68bdc6
mov eax, dword [ebx + 0x14c]
mov eax, dword [ebx + eax*4 + 0x608]
mov ecx, dword [eax + 0x6e4]
sub ecx, dword [eax + 0x6e0]
test ecx, 0xfffffffc
jne 0x68bdc6
mov eax, dword [eax]
cmp eax, 1
je 0x68bdc6
cmp eax, 3
je 0x68bdc6
xor ecx, ecx
lea eax, [ebx + 0x608]
lea edx, [ecx + 5]
mov esi, dword [eax]
mov edi, 8
sub edi, dword [esi + 0x6ec]
add eax, 4
add ecx, edi
sub edx, 1
jne 0x68bda3
dec ecx
cmp ecx, 1
ja 0x68bdc6
push ebx
call fcn.00688430
mov eax, dword [ebx + 0x14c]
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
mov dword [ebx + 0x148], eax
lea eax, [ebx + 0x608]
fsub qword [ebx + 0x140]
mov byte [esp + 0x6f], 0
mov byte [esp + 0x5b], 0
mov dword [esp + 0x80], 0
fmul qword [0x82ddb0]
mov dword [esp + 0x70], eax
mov esi, eax
fadd qword [ebx + 0x140]
fst qword [ebx + 0x140]
fsub qword [ebx + 0x138]
fmul qword [0x82e8f0]
fadd qword [ebx + 0x138]
fstp qword [ebx + 0x138]
jmp 0x68be30
mov edi, dword [esi]
call fcn.00687420
fild dword [esp + 0x80]
mov edx, dword [esp + 0x80]
test edx, edx
jge 0x68be4f
fadd dword [0x82dc74]
fsub qword [ebx + 0x138]
fabs
fld qword [str.333333]
fld st(0)
fsubrp st(2)
fdivp st(1)
fst qword [esp + 0xe4]
fldz
fcompp
fnstsw ax
test ah, 5
jp 0x68bede
mov edi, dword [esi]
call fcn.006819e0
test al, al
je 0x68be91
mov eax, dword [esi]
cmp dword [eax], 4
mov byte [esp + 0x5b], 1
sete cl
or byte [esp + 0x6f], cl
mov edx, dword [esi]
mov eax, dword [edx]
cmp eax, 3
je 0x68be9f
cmp eax, 1
jne 0x68bec2
cmp dword [esp + 0x80], 4
je 0x68bec2
mov eax, dword [0x88b12c]
mov byte [ebx + 0x124], 1
mov ecx, dword [eax + 0xb78]
mov byte [ecx + 0x188], 1
fldz
mov ecx, dword [esi]
fcomp qword [ecx + 0x668]
fnstsw ax
test ah, 5
jp 0x68bede
mov esi, ecx
call fcn.0066e7a0
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x80]
fld qword [esp + 0xe4]
mov edx, dword [esi]
inc eax
fstp qword [edx + 0x668]
add esi, 4
mov dword [esp + 0x80], eax
mov dword [esp + 0x70], esi
cmp eax, 5
jb 0x68be30
cmp byte [esp + 0x5b], 0
je 0x68c36c
xor eax, eax
lea ecx, [ebx + 0x608]
mov edx, 5
mov esi, dword [ecx]
add eax, dword [esi + 0x6ec]
add ecx, 4
sub edx, 1
jne 0x68bf24
cmp eax, 0x28
jne 0x68c36c
cmp byte [esp + 0x6f], dl
je 0x68c36c
mov esi, dword [0x88b12c]
mov eax, dword [esi + 0xb78]
mov ecx, dword [eax + 0xc0]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
push str.QuestVictory_Seconds_d
call fcn.0074f5a0
add esp, 8
push 0x11
xor edx, edx
mov edi, 7
xor esi, esi
push str.QuestMenu_fanfare
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov word [esp + 0x214], dx
call fcn.00403a80
mov dword [esp + 0x280], 0x16
push 4
xor eax, eax
push 0x7ac594
lea ecx, [esp + 0x22c]
mov dword [esp + 0x244], edi
mov dword [esp + 0x240], esi
mov word [esp + 0x230], ax
call fcn.00403a80
mov byte [esp + 0x280], 0x17
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0xa28]
mov edx, dword [ecx]
mov edx, dword [edx + 0x50]
push esi
lea eax, [esp + 0x20c]
push eax
lea eax, [esp + 0x22c]
push eax
call edx
cmp dword [esp + 0x23c], 8
jb 0x68c028
mov eax, dword [esp + 0x228]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 8
mov dword [esp + 0x23c], edi
mov dword [esp + 0x238], esi
mov word [esp + 0x228], cx
jb 0x68c065
mov edx, dword [esp + 0x20c]
push edx
call fcn.006441c7
add esp, 4
push 5
mov edi, 0xf
push str.award
lea ecx, [esp + 0x22c]
mov dword [esp + 0x244], edi
mov dword [esp + 0x240], esi
mov byte [esp + 0x230], 0
call fcn.004016e0
push 1
lea eax, [esp + 0x228]
mov dword [esp + 0x284], 0x18
mov ecx, dword [0x881488]
push eax
call fcn.00442920
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x23c], 0x10
jb 0x68c0d8
mov ecx, dword [esp + 0x228]
push ecx
call fcn.006441c7
add esp, 4
mov edx, dword [0x88b12c]
mov dword [esp + 0x23c], edi
mov dword [esp + 0x238], esi
mov byte [esp + 0x228], 0
mov eax, dword [edx + 0xb98]
mov ecx, dword [eax + 0x268]
mov byte [ecx + 0x510], 1
push ebx
mov byte [ebx + 0x604], 1
call fcn.00688430
fld qword [0x7a8008]
sub esp, 8
lea eax, [ebx + 0x420]
fstp qword [esp]
call fcn.00435d30
push 0x28
push str.b_0_1_0.000667_1_H_________X
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov byte [esp + 0x214], 0
call fcn.004016e0
push esi
lea edx, [esp + 0x20c]
push edx
lea eax, [ebx + 0x340]
mov dword [esp + 0x288], 0x19
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c198
mov eax, dword [esp + 0x20c]
push eax
call fcn.006441c7
add esp, 4
push 0x2e
push str.b0_1.2_0.000667_1___z_______H
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov byte [esp + 0x214], 0
call fcn.004016e0
push esi
lea ecx, [esp + 0x20c]
push ecx
lea eax, [ebx + 0x518]
mov dword [esp + 0x288], 0x1a
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c205
mov edx, dword [esp + 0x20c]
push edx
call fcn.006441c7
add esp, 4
push 0x2c
push str.b0_1_0.000667_1___z_______H
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov byte [esp + 0x214], 0
call fcn.004016e0
push esi
lea eax, [esp + 0x20c]
push eax
lea eax, [ebx + 0x588]
mov dword [esp + 0x288], 0x1b
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c272
mov ecx, dword [esp + 0x20c]
push ecx
call fcn.006441c7
add esp, 4
push 0x2c
push str.b0_1_0.000667_1_Oh________h
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], edi
mov dword [esp + 0x224], esi
mov byte [esp + 0x214], 0
call fcn.004016e0
push esi
lea edx, [esp + 0x20c]
push edx
lea eax, [ebx + 0x1f0]
mov dword [esp + 0x288], 0x1c
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c2df
mov eax, dword [esp + 0x20c]
push eax
call fcn.006441c7
add esp, 4
push 0x28
push str.b0_1_0.000667_1___________a
lea ecx, [esp + 0x22c]
mov dword [esp + 0x244], edi
mov dword [esp + 0x240], esi
mov byte [esp + 0x230], 0
call fcn.004016e0
push esi
lea ecx, [esp + 0x228]
push ecx
lea eax, [ebx + 0x260]
mov dword [esp + 0x288], 0x1d
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x23c], 0x10
jb 0x68c34c
mov edx, dword [esp + 0x228]
push edx
call fcn.006441c7
add esp, 4
mov eax, dword [0x88b12c]
mov dword [esp + 0x23c], edi
mov dword [esp + 0x238], esi
mov byte [esp + 0x228], 0
call fcn.00467de0
mov ecx, ebx
call fcn.00666aa0
test al, al
jne 0x68c9f5
mov eax, 4
cmp dword [esp + 0x64], eax
jl 0x68c392
cmp dword [ebx + 0x14c], eax
je 0x68c392
xor al, al
jmp 0x68c394
mov al, 1
mov ecx, dword [ebx + 0x114]
cmp byte [ecx + 0x66], 0
mov byte [esp + 0x54], al
je 0x68c4d6
test al, al
jne 0x68c4d6
mov edx, dword [ebx + 0x148]
cmp edx, dword [ebx + 0x14c]
jne 0x68c4d6
lea esi, [ebx + 0x260]
mov ecx, esi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jp 0x68c4d6
push 0x28
xor edi, edi
push str.b0_1_0.007692_1__I________W
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], 0xf
mov dword [esp + 0x224], edi
mov byte [esp + 0x214], 0
call fcn.004016e0
push edi
lea eax, [esp + 0x20c]
push eax
mov eax, esi
mov dword [esp + 0x288], 0x1e
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c44f
mov ecx, dword [esp + 0x20c]
push ecx
call fcn.006441c7
add esp, 4
lea esi, [ebx + 0x3b0]
mov ecx, esi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jp 0x68c4d6
push 0x1f
push 0x7ac6bc
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], 0xf
mov dword [esp + 0x224], edi
mov byte [esp + 0x214], 0
call fcn.004016e0
push edi
lea edx, [esp + 0x20c]
push edx
mov eax, esi
mov dword [esp + 0x288], 0x1f
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c4d6
mov eax, dword [esp + 0x20c]
push eax
call fcn.006441c7
add esp, 4
mov ecx, dword [ebx + 0x114]
mov edx, dword [ecx]
mov eax, dword [esp + 0x54]
mov edx, dword [edx + 0x94]
push eax
call edx
lea ecx, [ebx + 0x260]
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x68c533
mov eax, dword [0x88b12c]
mov ecx, dword [eax + 0xb78]
cmp byte [ecx + 0x183], 0
jne 0x68c533
cmp dword [esp + 0x64], 4
setge al
test al, al
je 0x68c66f
push 3
call fcn.0074dff0
jmp 0x68c66f
lea esi, [esp + 0x88]
mov ecx, ebx
call fcn.00665f10
lea edi, [ebx + 0x680]
mov ecx, edi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jp 0x68c5b0
fldz
sub esp, 8
mov eax, edi
fstp qword [esp]
call fcn.00435d30
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov dword [ebx + 0x61c], edx
mov edx, dword [esp + 0x94]
mov dword [ebx + 0x620], eax
mov eax, dword [esp + 0x98]
mov dword [ebx + 0x624], ecx
mov dword [ebx + 0x628], edx
mov dword [ebx + 0x62c], eax
jmp 0x68c66f
mov eax, dword [ebx + 0x14c]
mov ecx, dword [ebx + eax*4 + 0x61c]
cmp ecx, dword [esp + eax*4 + 0x88]
je 0x68c66f
fld qword [edi + 0x50]
sub esp, 8
fstp qword [esp]
call fcn.00435ec0
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jp 0x68c5fd
mov ecx, edi
call fcn.00436230
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jp 0x68c66f
push 0x1f
push str.b_0_1_0.01_2__________
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], 0xf
mov dword [esp + 0x224], 0
mov byte [esp + 0x214], 0
call fcn.004016e0
push 0
lea edx, [esp + 0x20c]
push edx
mov eax, edi
mov dword [esp + 0x288], 0x20
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c66f
mov eax, dword [esp + 0x20c]
push eax
call fcn.006441c7
add esp, 4
mov esi, 8
sub esi, dword [esp + 0x64]
mov dword [esp + 0x4c], esi
test esi, esi
jle 0x68c912
call fcn.00437c00
fild dword [esp + 0x4c]
mov edi, eax
fdivr qword [0x82dc58]
call fcn.0076f850
mov ecx, eax
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x68c912
call fcn.00437c00
cdq
mov ecx, 0xc
idiv ecx
mov dword [esp + 0x4c], edx
call fcn.00437c00
cdq
idiv esi
xor esi, esi
or ecx, 0xffffffff
lea eax, [ebx + 0x4cc]
lea ecx, [ecx]
mov edi, dword [eax]
cmp byte [edi + 0x64], 0
je 0x68c6d9
inc ecx
cmp ecx, edx
je 0x68c6eb
inc esi
add eax, 4
cmp esi, 8
jb 0x68c6d0
jmp 0x68c912
mov edx, dword [esp + 0x4c]
inc edx
push edx
mov dword [esp + 0x74], esi
push str.IMAGE_QUESTMENU_BTN_SPARKLES_d
lea esi, [esp + 0xb4]
call fcn.00439900
add esp, 8
mov edi, 0x10
mov dword [esp + 0x280], 0x21
cmp dword [eax + 0x18], edi
jb 0x68c723
mov edx, dword [eax + 4]
jmp 0x68c726
lea edx, [eax + 4]
mov eax, edx
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], 0
mov byte [esp + 0x8c], 0
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x68c750
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x90]
call fcn.004016e0
mov byte [esp + 0x280], 0x22
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0xa0], edi
jae 0x68c786
lea eax, [esp + 0x8c]
push eax
call fcn.006e14f0
add esp, 4
mov edi, eax
cmp edi, 0xffffffff
mov esi, 0x10
setne byte [esp + 0x5b]
cmp dword [esp + 0xa0], esi
jb 0x68c7b7
mov eax, dword [esp + 0x8c]
push eax
call fcn.006441c7
add esp, 4
mov dword [esp + 0x280], 0xffffffff
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], 0
mov byte [esp + 0x8c], 0
cmp dword [esp + 0xc4], esi
jb 0x68c7f9
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.006441c7
add esp, 4
cmp byte [esp + 0x5b], 0
je 0x68c912
mov esi, dword [edi*4 + 0x883088]
xor eax, eax
cmp esi, eax
jne 0x68c817
mov dword [esp + 0x54], eax
jmp 0x68c81d
mov edx, dword [esi]
mov dword [esp + 0x54], edx
cmp edi, 0xffffffff
je 0x68c82b
mov eax, dword [edi*4 + 0x879598]
mov eax, dword [eax]
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
mov dword [esp + 0x4c], ecx
call fcn.0045a0e0
imul eax, eax, 0x4b0
cdq
idiv ecx
cmp dword [0x884788], 0
jne 0x68c856
xor ecx, ecx
jmp 0x68c85e
mov edx, dword [0x884788]
mov ecx, dword [edx]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
add eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
test esi, esi
je 0x68c874
mov esi, dword [esi + 4]
cmp edi, 0xffffffff
jne 0x68c87d
xor eax, eax
jmp 0x68c886
mov eax, dword [edi*4 + 0x879598]
mov eax, dword [eax]
call fcn.0045a0f0
imul eax, eax, 0x4b0
mov ecx, dword [0x884788]
cdq
idiv dword [esp + 0x4c]
test ecx, ecx
je 0x68c8a3
mov ecx, dword [ecx + 4]
cdq
sub eax, edx
sar eax, 1
sub eax, ecx
add eax, esi
push 0x248
mov dword [esp + 0x50], eax
call fcn.006442a0
add esp, 4
mov dword [esp + 0x5c], eax
mov dword [esp + 0x280], 0x23
test eax, eax
je 0x68c8d8
push eax
call fcn.0066f6e0
jmp 0x68c8da
xor eax, eax
mov ecx, dword [esp + 0x70]
fild dword [esp + 0x54]
mov dword [esp + 0x280], 0xffffffff
mov edx, dword [ebx + ecx*4 + 0x4cc]
fstp dword [eax + 0x10]
mov dword [eax + 0x240], edx
fild dword [esp + 0x4c]
mov edi, eax
fstp dword [eax + 0x14]
mov ecx, dword [ebx + 0x50c]
push ecx
call fcn.00708110
lea edi, [ebx + 0x2d0]
mov ecx, edi
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x44
jp 0x68c9f5
mov cl, 1
lea eax, [ebx + 0x608]
mov esi, 5
lea ecx, [ecx]
mov edx, dword [eax]
cmp dword [edx + 0x6ec], 4
jge 0x68c94d
xor cl, cl
add eax, 4
sub esi, 1
jne 0x68c940
test cl, cl
je 0x68c9f5
mov esi, edi
call fcn.00436500
test al, al
je 0x68c983
fld qword [edi + 0x50]
sub esp, 8
fstp qword [esp]
call fcn.00435ec0
fcomp qword [0x7a8008]
fnstsw ax
test ah, 0x44
jnp 0x68c9f5
push 0x1f
push 0x7ac71c
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], 0xf
mov dword [esp + 0x224], 0
mov byte [esp + 0x214], 0
call fcn.004016e0
push 0
lea eax, [esp + 0x20c]
push eax
mov eax, edi
mov dword [esp + 0x288], 0x24
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68c9f5
mov ecx, dword [esp + 0x20c]
push ecx
call fcn.006441c7
add esp, 4
mov edx, dword [ebx + 0x14c]
mov eax, dword [edx*4 + 0x879520]
push eax
push str.IMAGE_QUESTOBJECT__s_OBJECT
lea esi, [esp + 0xb4]
call fcn.00439900
add esp, 8
mov esi, 0x10
mov dword [esp + 0x280], 0x25
cmp dword [eax + 0x18], esi
jb 0x68ca31
mov edx, dword [eax + 4]
jmp 0x68ca34
lea edx, [eax + 4]
mov eax, edx
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], 0
mov byte [esp + 0x8c], 0
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x68ca57
sub eax, edi
push eax
push edx
lea ecx, [esp + 0x90]
call fcn.004016e0
mov byte [esp + 0x280], 0x26
mov eax, dword [esp + 0x8c]
cmp dword [esp + 0xa0], esi
jae 0x68ca8d
lea eax, [esp + 0x8c]
push eax
call fcn.006e14f0
add esp, 4
cmp eax, 0xffffffff
setne al
test al, al
sete byte [esp + 0x5b]
cmp dword [esp + 0xa0], esi
jb 0x68cabc
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.006441c7
add esp, 4
mov dword [esp + 0x280], 0xffffffff
mov dword [esp + 0xa0], 0xf
mov dword [esp + 0x9c], 0
mov byte [esp + 0x8c], 0
cmp dword [esp + 0xc4], esi
jb 0x68cafe
mov edx, dword [esp + 0xb0]
push edx
call fcn.006441c7
add esp, 4
cmp byte [esp + 0x5b], 0
jne 0x68dbb5
push ebx
xor ecx, ecx
call fcn.0067df50
lea ecx, [ebx + 0x260]
call fcn.004363d0
lea ecx, [ebx + 0x1f0]
call fcn.004363d0
mov edi, dword [0x884720]
test edi, edi
jne 0x68cb35
xor eax, eax
jmp 0x68cb38
mov eax, dword [edi + 4]
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
mov edx, ecx
imul edx, eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
test edi, edi
jne 0x68cb62
xor eax, eax
jmp 0x68cb64
mov eax, dword [edi]
imul ecx, eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [ebx + 0x260]
mov dword [esp + 0x54], eax
call fcn.00436230
mov edi, dword [0x88b12c]
mov ecx, dword [edi + 0x9e0]
imul ecx, ecx, 0x258
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x880820]
call fcn.0045a100
mov dword [esp + 0x68], eax
call fcn.0045a110
fild dword [edi + 0x70c]
mov dword [esp + 0x5c], eax
fild dword [esp + 0x4c]
fmulp st(2)
fsubrp st(1)
fiadd dword [esp + 0x54]
call fcn.0076f850
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebx + 0x118]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
mov dword [esp + 0xfc], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
lea eax, [esp + 0xf8]
push eax
call edx
mov edi, dword [0x884710]
test edi, edi
jne 0x68cc27
xor eax, eax
jmp 0x68cc2a
mov eax, dword [edi + 4]
mov ecx, dword [0x88b12c]
mov ecx, dword [ecx + 0x9e0]
mov edx, ecx
imul edx, eax
mov eax, 0x1b4e81b5
imul edx
sar edx, 7
mov esi, edx
shr esi, 0x1f
add esi, edx
test edi, edi
je 0x68cc52
mov edi, dword [edi]
imul ecx, edi
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [ebx + 0x260]
mov dword [esp + 0x54], eax
call fcn.00436230
mov edi, dword [0x88b12c]
mov ecx, dword [edi + 0x9e0]
imul ecx, ecx, 0x258
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x881250]
call fcn.0045a100
mov dword [esp + 0x68], eax
call fcn.0045a110
fimul dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
fisub dword [edi + 0x70c]
fiadd dword [esp + 0x54]
call fcn.0076f850
mov edx, dword [esp + 0x5c]
mov ecx, dword [ebx + 0x114]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
mov dword [esp + 0xfc], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x9c]
lea eax, [esp + 0xf8]
push eax
call edx
mov ecx, dword [0x88b12c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x110]
push 0x17
call edx
test eax, eax
jne 0x68d426
cmp dword [ebx + 0x178], eax
je 0x68cdc6
lea esi, [ebx + 0x180]
mov ecx, esi
call fcn.004363d0
mov ecx, dword [ebx + 0x178]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
call edx
mov ecx, esi
call fcn.00436230
fstp qword [esp + 0xe4]
mov ecx, esi
call fcn.00436230
mov eax, dword [ebx + 0x494]
sub eax, 0x1f4
mov dword [esp + 0x4c], eax
fild dword [esp + 0x4c]
fld qword [0x7a8008]
fld qword [esp + 0xe4]
fsubr st(1)
fmulp st(2)
fxch st(1)
fadd qword [0x82e068]
call fcn.0076f850
mov ecx, dword [ebx + 0x490]
sub ecx, 0x406
mov dword [esp + 0x4c], ecx
fild dword [esp + 0x4c]
fld st(1)
mov esi, eax
fsubrp st(3)
fmulp st(2)
fxch st(1)
fadd qword [0x82eac8]
fadd qword [0x82e0e0]
call fcn.0076f850
mov ecx, dword [ebx + 0x178]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
jmp 0x68cdcc
fld qword [0x7a8008]
mov eax, dword [ebx + 0x498]
test eax, eax
jle 0x68d424
add eax, 0xffffffff
mov dword [ebx + 0x498], eax
jne 0x68d424
fld qword [0x82dc10]
mov edx, dword [0x880ba8]
mov eax, dword [0x88b12c]
sub esp, 0x10
fstp qword [esp + 8]
fstp qword [esp]
push 0
call fcn.007488f0
fld qword [0x82dc10]
mov edx, dword [0x882f94]
mov eax, dword [0x88b12c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x7a8008]
fstp qword [esp]
push 0
call fcn.007488f0
mov edx, dword [ebx + 0x150]
push ebx
call fcn.00677200
xor esi, esi
mov dword [esp + 0x54], esi
push 0xb
call fcn.007079c0
mov edi, eax
mov ecx, 0xff00
lea eax, [esp + 0x88]
call fcn.00434820
mov edx, dword [eax]
mov dword [edi + 0x70], edx
mov ecx, dword [eax + 4]
mov dword [edi + 0x74], ecx
mov edx, dword [eax + 8]
mov dword [edi + 0x78], edx
mov eax, dword [eax + 0xc]
mov dword [edi + 0x7c], eax
call fcn.00437c00
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv qword [0x82dd98]
fild dword [esp + 0x54]
fmul qword [0x82e158]
faddp st(1)
fstp qword [esp + 0xe4]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv qword [0x82dd28]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x82dd68]
fstp dword [esp + 0x54]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
mov dword [esp + 0x50], edx
fild dword [esp + 0x50]
fdiv qword [0x82dd20]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fmul qword [0x82e0e8]
fstp dword [esp + 0x60]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099a0
mov edx, dword [ebx + 0x178]
fstp dword [esp + 0x6c]
fld dword [esp + 0x6c]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fmul dword [esp + 0x60]
fiadd dword [edx + 8]
fstp dword [edi + 0x10]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099c0
mov eax, dword [ebx + 0x178]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
add esp, 4
fst dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul dword [esp + 0x5c]
fiadd dword [eax + 0xc]
fstp dword [edi + 0x14]
fld qword [esp + 0xe4]
fstp dword [edi + 0x90]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fld qword [0x82dd28]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x82ddb0]
fstp dword [edi + 0x94]
fld dword [0x82eac0]
fstp dword [edi + 0x58]
fld1
fstp dword [edi + 0x4c]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x82e620]
fadd qword [0x82e090]
fstp dword [edi + 0x48]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fld qword [0x82dda8]
fmul st(1), st(0)
fld dword [esp + 0x68]
fld qword [0x82dc00]
fmul st(1), st(0)
fxch st(3)
faddp st(1)
fstp dword [edi + 0x1c]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv st(3)
fstp dword [esp + 0x4c]
fmul dword [esp + 0x4c]
fxch st(3)
fmulp st(1)
faddp st(2)
fxch st(1)
fstp dword [edi + 0x20]
fld dword [0x82e978]
fstp dword [edi + 0x38]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x82dd68]
fadd st(0), st(0)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fst dword [edi + 0x198]
fadd qword [0x82e0b8]
fstp dword [edi + 0x19c]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
mov dword [esp + 0x54], 0
fdiv st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fcomp dword [0x79b0e4]
fnstsw ax
test ah, 0x41
je 0x68d0ea
mov dword [esp + 0x54], 1
fild dword [esp + 0x54]
fstp dword [edi + 0x1a0]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x50], edx
fidivr dword [esp + 0x50]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp]
call fcn.00409960
fmul qword [0x82ded8]
add esp, 4
fadd qword [0x7a8008]
fmul qword [0x82e108]
fstp dword [edi + 0x1a4]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x50], edx
fild dword [esp + 0x50]
fdiv qword [0x82dd28]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp]
call fcn.00409960
fmul qword [0x82dda8]
add esp, 4
fadd qword [0x82dc10]
fmul qword [0x82e970]
fstp dword [edi + 0x50]
mov edx, dword [ebx + 0x510]
push edx
call fcn.00708110
inc esi
cmp esi, 0x12c
mov dword [esp + 0x54], esi
jl 0x68ce45
mov esi, 0x14
push 0xd
call fcn.007079c0
mov edi, eax
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fld qword [0x82dd28]
fdiv st(1), st(0)
fxch st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x82dd68]
fstp dword [esp + 0x54]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x50], edx
fidivr dword [esp + 0x50]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp]
call fcn.00409960
fadd st(0), st(0)
fadd qword [0x82de38]
fstp dword [esp + 0x60]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099a0
fmul dword [esp + 0x60]
fstp dword [edi + 0x1c]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099c0
fmul dword [esp + 0x60]
add esp, 4
fstp dword [edi + 0x20]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x50], edx
fild dword [esp + 0x50]
fdiv qword [0x82dd28]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp]
call fcn.00409960
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
add esp, 4
fmul qword [0x82e170]
fmul dword [edi + 0x1c]
fstp dword [edi + 0x1c]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x50], edx
fild dword [esp + 0x50]
fdiv qword [0x82dd28]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp]
call fcn.00409960
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
add esp, 4
fmul qword [0x82e170]
fmul dword [edi + 0x20]
fstp dword [edi + 0x20]
call fcn.00437c00
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
sub edx, 0x7a120
mov dword [esp + 0x4c], edx
fild dword [esp + 0x4c]
fdiv qword [0x82dd28]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fmul qword [0x82dd68]
fstp dword [esp + 0x54]
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
mov dword [esp + 0x50], edx
fild dword [esp + 0x50]
fdiv qword [0x82dd20]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fmul qword [0x82de60]
fstp dword [esp + 0x60]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099a0
mov edx, dword [ebx + 0x178]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fmul dword [esp + 0x60]
fiadd dword [edx + 8]
fstp dword [edi + 0x10]
fld dword [esp + 0x58]
fstp dword [esp]
call fcn.004099c0
mov eax, dword [ebx + 0x178]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
add esp, 4
fmul dword [esp + 0x5c]
push 0xff
mov edx, 0xff
push 0xff
fiadd dword [eax + 0xc]
mov ecx, edx
lea eax, [esp + 0x90]
fstp dword [edi + 0x14]
call fcn.004348b0
mov ecx, dword [eax]
fld dword [0x82e168]
mov dword [edi + 0x70], ecx
mov edx, dword [eax + 4]
mov dword [edi + 0x74], edx
mov ecx, dword [eax + 8]
mov dword [edi + 0x78], ecx
mov edx, dword [eax + 0xc]
fstp dword [edi + 0x5c]
mov dword [edi + 0x7c], edx
mov byte [edi + 0x194], 1
call fcn.00437c00
cdq
mov ecx, 0xf4240
idiv ecx
push ecx
sub edx, 0x7a120
mov dword [esp + 0x50], edx
fild dword [esp + 0x50]
fdiv qword [0x82dd28]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fstp dword [esp]
call fcn.00409960
fadd qword [0x82dfe8]
add esp, 4
fstp dword [edi + 0x58]
mov edx, dword [ebx + 0x510]
push edx
call fcn.00708110
sub esi, 1
jne 0x68d1a7
jmp 0x68d426
fstp st(0)
mov ecx, dword [ebx + 0x50c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
mov ecx, dword [ebx + 0x510]
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
lea ecx, [ebx + 0x518]
call fcn.004363d0
lea ecx, [ebx + 0x588]
call fcn.004363d0
mov esi, ebx
call fcn.006677c0
cmp byte [ebx + 0x604], 0
je 0x68d6db
lea eax, [ebx + 0x5f8]
call fcn.0045adf0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
lea eax, [ebx + 0x5fc]
call fcn.0045adf0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
mov esi, 1
add dword [ebx + 0x600], esi
cmp dword [ebx + 0x600], 0x708
jne 0x68d690
mov ecx, dword [ebx + 0x178]
test ecx, ecx
je 0x68d4be
mov edx, dword [ecx]
mov eax, dword [edx]
push esi
call eax
push 0x190
call fcn.006442a0
mov edi, eax
add esp, 4
mov dword [esp + 0x4c], edi
mov dword [esp + 0x280], 0x27
test edi, edi
je 0x68d52d
push str.QUEST_MODE_nCOMPLETE
lea ecx, [esp + 0xb0]
call fcn.00403550
sub esp, 0x1c
mov byte [esp + 0x29c], 0x28
mov eax, dword [0x88b148]
mov dword [esp + 0x7c], esi
mov esi, esp
mov dword [esp + 0x70], esp
lea ecx, [esp + 0xc8]
push ecx
push 0x1a5
add eax, 0x7ec
call fcn.004711e0
push 0
mov esi, edi
call fcn.00769710
jmp 0x68d52f
xor eax, eax
mov dword [esp + 0x280], 0xffffffff
test byte [esp + 0x60], 1
mov dword [ebx + 0x178], eax
je 0x68d566
and dword [esp + 0x60], 0xfffffffe
cmp dword [esp + 0xc4], 8
jb 0x68d566
mov edx, dword [esp + 0xb0]
push edx
call fcn.006441c7
add esp, 4
fldz
sub esp, 8
lea eax, [ebx + 0x180]
fstp qword [esp]
call fcn.00435d30
push 0x30
mov esi, 0xf
xor edi, edi
push str.b0_1_0.000667_1_q_______Axs
lea ecx, [esp + 0x210]
mov dword [esp + 0x228], esi
mov dword [esp + 0x224], edi
mov byte [esp + 0x214], 0
call fcn.004016e0
push edi
lea eax, [esp + 0x20c]
push eax
mov dword [esp + 0x288], 0x2a
mov eax, dword [ebx + 0x178]
add eax, 0x30
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x220], 0x10
jb 0x68d5f0
mov ecx, dword [esp + 0x20c]
push ecx
call fcn.006441c7
add esp, 4
push 0x3f
push str.b0_2_0.000667_1_TXbLUQSP______P__D
lea ecx, [esp + 0x22c]
mov dword [esp + 0x244], esi
mov dword [esp + 0x240], edi
mov byte [esp + 0x230], 0
call fcn.004016e0
mov dword [esp + 0x280], 0x2b
mov eax, dword [ebx + 0x178]
push edi
lea edx, [esp + 0x228]
push edx
add eax, 0xa0
call fcn.00435cc0
mov dword [esp + 0x280], 0xffffffff
cmp dword [esp + 0x23c], 0x10
jb 0x68d662
mov eax, dword [esp + 0x228]
push eax
call fcn.006441c7
add esp, 4
mov eax, 0x320
mov ecx, 0x28a
mov dword [esp + 0x23c], esi
mov dword [esp + 0x238], edi
mov byte [esp + 0x228], 0
mov dword [ebx + 0x490], eax
mov dword [ebx + 0x494], ecx
jmp 0x68d692
xor edi, edi
cmp dword [ebx + 0x600], 0x8ca
jne 0x68d6db
fldz
mov edx, dword [0x882da0]
mov eax, dword [0x88b12c]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x7a8008]
fstp qword [esp]
push edi
call fcn.007488f0
mov edx, dword [ebx + 0xb8]
mov eax, dword [edx + 8]
add ebx, 0xb8
push 2
mov ecx, ebx
call eax
jmp 0x68dbb5
mov ecx, ebx
call fcn.00666aa0
mov byte [esp + 0x5c], al
mov edi, dword [esp + 0x5c]
lea esi, [ebx + 0x4ec]
mov dword [esp + 0x54], 8
jmp 0x68d700
mov ecx, dword [esi - 0x20]
push edi
call fcn.00497d70
mov ecx, dword [esi]
push edi
call fcn.00497d70
add esi, 4
sub dword [esp + 0x54], 1
jne 0x68d700
lea ecx, [ebx + 0x2d0]
call fcn.00436230
fcomp qword [0x82dc20]
fnstsw ax
test ah, 0x41
jne 0x68db5f
cmp byte [esp + 0x5c], 0
jne 0x68db5f
mov eax, dword [0x884718]
xor esi, esi
cmp eax, esi
jne 0x68d753
mov dword [esp + 0x54], esi
jmp 0x68d75c
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov dword [esp + 0x54], ecx
mov ecx, dword [0x882394]
call fcn.0045a100
mov dword [esp + 0x4c], eax
call fcn.0045a110
mov edx, dword [0x88b12c]
mov edi, dword [edx + 0x9e0]
mov ecx, edi
imul ecx, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
mov eax, 0x1b4e81b5
imul ecx
sar edx, 7
lea ecx, [esi - 0xa0]
imul ecx, edi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x70], eax
mov eax, 0x1b4e81b5
imul ecx
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax + 0x110]
mov eax, dword [eax + 0x10c]
sar edx, 7
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp eax, edi
jl 0x68db5f
mov edx, dword [esp + 0x5c]
add edx, edi
cmp eax, edx
jge 0x68db5f
cmp ecx, dword [esp + 0x70]
jl 0x68db5f
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x4c]
add eax, edx
cmp ecx, eax
jge 0x68db5f
xor ecx, ecx
lea eax, [ebx + 0x608]
mov edx, 5
mov esi, dword [eax]
add ecx, dword [esi + 0x6ec]
add eax, 4
sub edx, 1
jne 0x68d804
mov eax, dword [ebx + 0x14c]
mov eax, dword [ebx + eax*4 + 0x608]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x6e4]
sub ecx, dword [eax + 0x6e0]
test ecx, 0xfffffffc
jne 0x68db5f
mov eax, dword [eax]
cmp eax, 1
je 0x68db5f
cmp eax, 3
je 0x68db5f
cmp dword [esp + 0x78], 0x28
je 0x68db5f
cmp dword [esp + 0x78], 1
je 0x68d8c2
push str.There_are_still__d_quests_to_complete_
lea ecx, [esp + 0x128]
call fcn.00403550
mov dword [esp + 0x280], 0x2c
mov eax, dword [0x88b148]
or dword [esp + 0x60], 2
lea edx, [esp + 0x124]
push edx
push 0x1a7
add eax, 0x7ec
lea esi, [esp + 0x198]
call fcn.004711e0
mov dword [esp + 0x280], 0x2d
or dword [esp + 0x60], 4
cmp dword [eax + 0x18], 8
jb 0x68d925
mov eax, dword [eax + 4]
jmp 0x68d928
push str.There_is_still__d_quest_to_complete_
lea ecx, [esp + 0x144]
call fcn.00403550
mov dword [esp + 0x280], 0x2e
mov eax, dword [0x88b148]
or dword [esp + 0x60], 8
lea ecx, [esp + 0x140]
push ecx
push 0x1a8
add eax, 0x7ec
lea esi, [esp + 0x1c4]
call fcn.004711e0
mov dword [esp + 0x280], 0x2f
or dword [esp + 0x60], 0x10
cmp dword [eax + 0x18], 8
jb 0x68d925
mov edx, dword [eax + 4]
mov dword [esp + 0x64], edx
jmp 0x68d92c
add eax, 4
mov dword [esp + 0x64], eax
push str.QUESTS_REMAINING
lea ecx, [esp + 0x10c]
call fcn.00403550
mov dword [esp + 0x280], 0x30
mov esi, dword [0x88b12c]
mov ecx, dword [esi + 0x9e0]
imul ecx, ecx, 0x46
mov eax, 0x1b4e81b5
imul ecx
mov ecx, dword [esp + 0x70]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
cdq
sub eax, edx
mov edx, dword [esp + 0x4c]
sub esp, 8
mov ecx, esp
sar eax, 1
add eax, edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esi + 0x9e0]
imul ecx, ecx, 0x1f4
mov eax, 0x1b4e81b5
imul ecx
mov dword [esp + 0x5c], esp
push 0xffffffffffffffff
push 0
sar edx, 7
push 0x23
mov eax, edx
shr eax, 0x1f
xor edi, edi
push edi
add eax, edx
mov edx, dword [esp + 0x7c]
push eax
sub esp, 0x1c
mov ecx, 0x28
sub ecx, dword [esp + 0xb0]
mov esi, esp
mov dword [esp + 0x84], esp
push ecx
push edx
call fcn.00439a90
sub esp, 0x14
mov esi, esp
mov dword [esp + 0xa8], esp
lea eax, [esp + 0x15c]
push eax
mov byte [esp + 0x2d8], 0x31
mov eax, dword [0x88b148]
push 0x1a6
add eax, 0x7ec
call fcn.004711e0
mov ecx, dword [0x88b12c]
mov edx, dword [ecx + 0xbe8]
push ebx
push edx
mov edx, edi
xor ecx, ecx
mov byte [esp + 0x2dc], 0x30
call fcn.0066abb0
cmp dword [esp + 0x120], 8
jb 0x68da42
mov eax, dword [esp + 0x10c]
push eax
call fcn.006441c7
add esp, 4
xor esi, esi
xor ecx, ecx
test byte [esp + 0x60], 0x10
mov edi, 7
mov dword [esp + 0x120], edi
mov dword [esp + 0x11c], esi
mov word [esp + 0x10c], cx
je 0x68da9f
and dword [esp + 0x60], 0xffffffef
cmp dword [esp + 0x1d4], 8
jb 0x68da87
mov edx, dword [esp + 0x1c0]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov dword [esp + 0x1d4], edi
mov dword [esp + 0x1d0], esi
mov word [esp + 0x1c0], ax
test byte [esp + 0x60], 8
je 0x68dadd
and dword [esp + 0x60], 0xfffffff7
cmp dword [esp + 0x158], 8
jb 0x68dac5
mov ecx, dword [esp + 0x144]
push ecx
call fcn.006441c7
add esp, 4
xor edx, edx
mov dword [esp + 0x158], edi
mov dword [esp + 0x154], esi
mov word [esp + 0x144], dx
test byte [esp + 0x60], 4
je 0x68db1b
and dword [esp + 0x60], 0xfffffffb
cmp dword [esp + 0x1a8], 8
jb 0x68db03
mov eax, dword [esp + 0x194]
push eax
call fcn.006441c7
add esp, 4
xor ecx, ecx
mov dword [esp + 0x1a8], edi
mov dword [esp + 0x1a4], esi
mov word [esp + 0x194], cx
mov dword [esp + 0x280], 0xffffffff
test byte [esp + 0x60], 2
je 0x68db5f
cmp dword [esp + 0x13c], 8
jb 0x68db47
mov edx, dword [esp + 0x128]
push edx
call fcn.006441c7
add esp, 4
xor eax, eax
mov dword [esp + 0x13c], edi
mov dword [esp + 0x138], esi
mov word [esp + 0x128], ax
mov esi, dword [ebx + 0x49c]
cmp esi, 0xffffffff
je 0x68dbac
mov ecx, ebx
call fcn.00666aa0
test al, al
jne 0x68dbac
mov ecx, dword [ebx + 0x38]
sub ecx, dword [ebx + 0x4a0]
cmp ecx, 0xc8
jg 0x68db98
mov edx, dword [ebx + 0xb8]
mov eax, dword [edx + 8]
lea ecx, [ebx + 0xb8]
push esi
call eax
mov dword [ebx + 0x49c], 0xffffffff
mov dword [ebx + 0x4a0], 0
mov edx, dword [ebx]
mov eax, dword [edx + 0x44]
mov ecx, ebx
call eax
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