Function at 0x6a7f9484
Capabilities:
Check for time delay via queryperformancecounter
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x20c
mov eax, dword [ebp + 8]
test eax, eax
je 0x6a7f999c
mov eax, dword [ebp + 8]
add eax, 0x196bc
mov dword [esp], eax
call sub.msvcrt.dll__setjmp
test eax, eax
je 0x6a7f94cc
mov eax, dword [ebp + 8]
mov dword [eax + 0x196b8], 0
mov eax, 7
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 8]
mov dword [edx + 0x196b8], 1
lea eax, [ebp - 0xb0]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
push edi
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c8ac], 0
mov eax, dword [ecx + 0x1c7c0]
test eax, eax
jne 0x6a7f98fc
mov esi, dword [ecx + 0x1c7a0]
test esi, esi
je 0x6a7f98fc
mov ebx, dword [ecx + 0x1c900]
test ebx, ebx
je 0x6a7f98fc
mov dword [esp + 8], 1
mov eax, dword [ecx + 0x20c40]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x1c8a8]
mov dword [esp], eax
call fcn.6a8213f8
mov esi, eax
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x1c8ac], eax
test eax, eax
je 0x6a7f98fc
mov dword [ebx + 0x1c8b0], eax
mov ecx, dword [ebx + 0x1c7c4]
test ecx, ecx
jle 0x6a7fa32e
mov eax, dword [ebx + 0x20c40]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.6a82e73c
mov ebx, dword [ebp + 8]
add ebx, 0x2ada0
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x1c8ac]
mov eax, dword [edi + 0x20c40]
mov dword [edi + 0x19f34], eax
mov dword [edi + 0x1ac74], 1
mov dword [edi + 0x1ac70], 0
mov dword [edi + 0x1ac6c], 0
mov dword [edi + 0x19eec], 0
mov dword [edi + 0x1c900], 0
mov dword [edi + 0x1c908], 0
test esi, esi
je 0x6a7f98fe
test ebx, ebx
je 0x6a7fa379
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c8b8], ebx
mov dword [eax + 0x1c8bc], ebx
mov ecx, dword [esi + 0x40]
mov ebx, dword [esi + 0x44]
mov edx, dword [ebp + 0x1c]
mov dword [edx], ecx
mov dword [edx + 4], ebx
mov ecx, dword [esi + 0x48]
mov ebx, dword [esi + 0x4c]
mov edi, dword [ebp + 0x20]
mov dword [edi], ecx
mov dword [edi + 4], ebx
mov eax, dword [esi + 0x50]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x288f8], 1
je 0x6a7f9f70
mov ecx, dword [esi + 0x40]
mov ebx, dword [esi + 0x44]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x144], ebx
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x20cb0]
mov ebx, dword [edi + 0x20cb4]
cmp dword [ebp - 0x144], ebx
jg 0x6a7f9e84
jl 0x6a7f9660
cmp dword [ebp - 0x148], ecx
jae 0x6a7f9e84
mov ecx, dword [ebp - 0x148]
mov ebx, dword [ebp - 0x144]
mov edi, dword [ebp + 8]
mov dword [edi + 0x20cb0], ecx
mov dword [edi + 0x20cb4], ebx
mov dword [edi + 0x20ca8], ecx
mov dword [edi + 0x20cac], ebx
mov eax, dword [edi + 0x19eec]
test eax, eax
je 0x6a7f9e91
mov ecx, dword [esi + 0x48]
mov ebx, dword [esi + 0x4c]
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], ebx
mov ecx, dword [ebp - 0x148]
mov ebx, dword [ebp - 0x144]
sub dword [ebp - 0x190], ecx
sbb dword [ebp - 0x18c], ebx
mov ebx, dword [ebp - 0x18c]
or ebx, dword [ebp - 0x190]
jne 0x6a7fa266
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0x1c7e0]
mov dword [ebp - 0x140], edi
mov ecx, dword [ebp - 0x148]
mov ebx, dword [ebp - 0x144]
mov edi, dword [ebp + 8]
mov dword [edi + 0x20ca0], ecx
mov dword [edi + 0x20ca4], ebx
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov dword [edi + 0x20ca8], eax
mov dword [edi + 0x20cac], edx
cmp dword [ebp - 0x140], 1
jbe 0x6a7f9df9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c778]
mov dword [ebp - 0x120], eax
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x1c774]
mov dword [ebp - 0x104], edx
mov ecx, dword [ebp + 8]
fld qword [ecx + 0x20cf8]
fstp qword [ebp - 0x118]
mov ecx, dword [ecx + 0x1c758]
mov dword [ebp - 0x11c], ecx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x1c750]
mov edx, dword [ebx + 0x1c754]
mov ecx, dword [ebx + 0x1c74c]
or ecx, dword [ebx + 0x1c748]
jne 0x6a7f9fd4
or edx, eax
jne 0x6a7fa380
add ebx, 0x1c824
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x13c], 1
fldz
fstp qword [ebp - 0x158]
mov edi, ebx
jmp 0x6a7f983c
mov ecx, dword [ebp - 0x174]
sub edi, dword [ecx - 0x44]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fld qword [ebp - 0x158]
fsubr st(2)
fdivp st(1)
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
fldcw word [ebp - 0xfc]
fistp dword [ebx + 0x24]
fldcw word [ebp - 0xfa]
mov esi, dword [ebp - 0x104]
mov dword [ebx + 0x40], esi
mov edi, dword [ebp - 0x120]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x58], esi
mov ecx, dword [ebp - 0x13c]
cmp dword [ebp - 0x140], ecx
jbe 0x6a7f9b52
add dword [ebp - 0x108], 4
inc dword [ebp - 0x13c]
fstp qword [ebp - 0x158]
mov edi, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x13c]
dec ecx
lea eax, [ecx + ecx*4]
shl eax, 5
mov esi, dword [ebp + 8]
lea ebx, [esi + eax + 0x2b6f0]
mov dword [ebp - 0x174], edi
mov eax, dword [edi]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fdivr qword [ebp - 0x118]
fst qword [ebx]
mov edi, dword [edi - 0x40]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea esi, [eax + eax*4]
shl esi, 3
mov dword [ebx + 8], esi
mov eax, dword [ebp - 0x11c]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [ebp - 0x1dc], ecx
fstp qword [ebp - 0x1d8]
call fcn.6aa7e29c
mov dword [ebx + 0xc], eax
test esi, esi
mov ecx, dword [ebp - 0x1dc]
fld qword [ebp - 0x1d8]
js 0x6a7f9f68
sar esi, 3
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], esi
test ecx, ecx
jne 0x6a7f97a4
mov esi, dword [ebp - 0x104]
mov dword [ebx + 0x40], esi
mov edi, dword [ebp - 0x120]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x58], esi
jmp 0x6a7f9823
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x288f8], 1
je 0x6a7f9960
mov esi, dword [ebp + 0x24]
mov dword [esp + 4], esi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x1c8a8]
mov dword [esp], eax
call fcn.6a821384
mov esi, eax
mov dword [edi + 0x1c8ac], eax
test eax, eax
je 0x6a7fa2e0
mov dword [edi + 0x19eec], 1
mov eax, dword [edi + 0x1c8b0]
test eax, eax
je 0x6a7f994e
cmp esi, eax
je 0x6a7fb061
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c908], 0
jmp 0x6a7f95da
mov edx, dword [eax + 0x1b92c]
test edx, edx
je 0x6a7f990a
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 1
mov eax, dword [eax + 0x1c8a8]
mov dword [esp], eax
call fcn.6a8213f8
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c8b4], eax
test eax, eax
jne 0x6a7f990a
lea esi, [esi]
mov eax, 0xffffffff
jmp 0x6a7f94c1
add eax, 0x1c824
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x1c760]
mov dword [ebp - 0x178], edx
mov dword [ebp - 0x130], 1
fldz
fstp qword [ebp - 0x150]
mov esi, eax
jmp 0x6a7f9a06
mov ecx, dword [ebp - 0x104]
mov dword [ebx + 0x40], ecx
mov esi, dword [ebp - 0x120]
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x58], ecx
add dword [ebp - 0x10c], 4
inc dword [ebp - 0x130]
fstp qword [ebp - 0x150]
mov esi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x130]
dec ecx
lea eax, [ecx + ecx*4]
shl eax, 5
mov edx, dword [ebp + 8]
lea ebx, [edx + eax + 0x2b6f0]
mov dword [ebp - 0x170], esi
mov eax, dword [esi]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fdivr qword [ebp - 0x118]
fst qword [ebx]
mov edi, dword [esi - 0x40]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea esi, [eax + eax*4]
shl esi, 3
mov dword [ebx + 8], esi
mov eax, dword [ebp - 0x11c]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [ebp - 0x1dc], ecx
fstp qword [ebp - 0x1d8]
call fcn.6aa7e29c
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x178]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
call fcn.6aa7e29c
mov dword [ebx + 0x10], eax
test esi, esi
mov ecx, dword [ebp - 0x1dc]
fld qword [ebp - 0x1d8]
js 0x6a7fa538
sar esi, 3
mov dword [ebx + 0x14], esi
test ecx, ecx
je 0x6a7f99d8
mov ecx, dword [ebp - 0x170]
sub edi, dword [ecx - 0x44]
lea eax, [edi + edi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fld qword [ebp - 0x150]
fsubr st(2)
fdivp st(1)
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
fldcw word [ebp - 0xfc]
fistp dword [ebx + 0x24]
fldcw word [ebp - 0xfa]
mov esi, dword [ebp - 0x104]
mov dword [ebx + 0x40], esi
mov edi, dword [ebp - 0x120]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x58], esi
mov ecx, dword [ebp - 0x130]
cmp dword [ebp - 0x140], ecx
ja 0x6a7f99ed
fstp st(0)
jmp 0x6a7f9b58
fstp st(0)
jmp 0x6a7f9b58
fstp st(0)
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x1b92c]
xor edx, edx
div dword [ebx + 0x1c864]
mov eax, dword [ebx + edx*4 + 0x1c868]
lea edx, [eax + eax*4]
shl edx, 5
lea esi, [ebx + edx + 0x2b6f0]
mov dword [ebx + 0x2b6e8], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0x288bc], eax
mov dword [ebx + 0x1c70c], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x1c740], eax
mov edi, eax
sar edi, 0x1f
mov dword [ebx + 0x1c744], edi
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x1c748], eax
mov ecx, eax
sar ecx, 0x1f
mov dword [ebx + 0x1c74c], ecx
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x1c750], eax
mov edi, eax
sar edi, 0x1f
mov dword [ebx + 0x1c754], edi
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x1c758], eax
mov ecx, eax
sar ecx, 0x1f
mov dword [ebx + 0x1c75c], ecx
mov eax, dword [esi + 0x1c]
mov dword [ebx + 0x1c760], eax
mov edi, eax
sar edi, 0x1f
mov dword [ebx + 0x1c764], edi
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x1c768], eax
mov ecx, eax
sar ecx, 0x1f
mov dword [ebx + 0x1c76c], ecx
mov eax, dword [esi + 0x28]
mov dword [ebx + 0x20d00], eax
mov edi, eax
sar edi, 0x1f
mov dword [ebx + 0x20d04], edi
mov eax, dword [esi + 0x2c]
mov dword [ebx + 0x20d08], eax
mov ecx, dword [esi + 0x30]
mov ebx, dword [esi + 0x34]
mov eax, dword [ebp + 8]
mov dword [eax + 0x20d20], ecx
mov dword [eax + 0x20d24], ebx
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20d30], eax
mov eax, dword [esi + 0x48]
mov dword [ecx + 0x20d38], eax
mov eax, dword [esi + 0x4c]
mov dword [ecx + 0x20cb8], eax
mov eax, dword [esi + 0x50]
mov dword [ecx + 0x20cbc], eax
mov eax, dword [esi + 0x54]
mov dword [ecx + 0x20cc0], eax
mov eax, dword [esi + 0x58]
mov dword [ecx + 0x20cc4], eax
fld qword [esi + 0x60]
fstp qword [ecx + 0x20c28]
fld qword [esi + 0x68]
fstp qword [ecx + 0x20c30]
fld qword [esi + 0x70]
fstp qword [ecx + 0x20c38]
mov eax, dword [esi + 0x78]
mov dword [ecx + 0x20cc8], eax
mov eax, dword [esi + 0x7c]
mov dword [ecx + 0x20c90], eax
mov ecx, dword [esi + 0x80]
mov ebx, dword [esi + 0x84]
mov edi, dword [ebp + 8]
mov dword [edi + 0x20ce0], ecx
mov dword [edi + 0x20ce4], ebx
mov eax, dword [esi + 0x88]
mov dword [edi + 0x1ac60], eax
mov eax, dword [esi + 0x8c]
mov dword [edi + 0x28948], eax
mov eax, edi
add eax, 0x28934
add esi, 0x90
mov ecx, 4
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
fld qword [eax + edx + 0x2b6f0]
fld qword [0x6ac50080]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6a7f9fc0
fld st(0)
fmul dword [0x6ac50088]
fldcw word [ebp - 0xfc]
fistp dword [ebp - 0x100]
fldcw word [ebp - 0xfa]
mov ecx, dword [ebp - 0x100]
add ecx, 2
mov edx, dword [ebp + 8]
fst qword [edx + 0x20cf0]
fst qword [edx + 0x20c98]
fidivr dword [edx + 0x1c70c]
fldcw word [ebp - 0xfc]
fistp dword [ebp - 0x100]
fldcw word [ebp - 0xfa]
mov eax, dword [ebp - 0x100]
mov dword [edx + 0x20c84], eax
mov dword [edx + 0x20c88], eax
mov ebx, dword [edx + 0x1c798]
imul ebx, eax
mov eax, 0x51eb851f
imul ebx
mov eax, edx
sar eax, 5
sar ebx, 0x1f
sub eax, ebx
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x20c8c], eax
mov dword [ebx + 0x20c58], ecx
cmp ecx, 0xb
jg 0x6a7f9da1
mov dword [ebx + 0x20c58], 0xc
mov ecx, 0xc
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x1c960]
shr eax, 1
mov dword [esi + 0x2ad68], eax
mov ebx, dword [esi + 0x1c7a0]
test ebx, ebx
je 0x6a7f9dec
mov edx, dword [esi + 0x1c730]
test edx, edx
je 0x6a7f9dec
cmp edx, ecx
jg 0x6a7f9dd3
lea ecx, [edx - 1]
mov dword [esi + 0x20c58], ecx
cmp eax, edx
jl 0x6a7f9dec
lea eax, [edx - 1]
mov edi, dword [ebp + 8]
mov dword [edi + 0x2ad68], eax
mov ecx, dword [edi + 0x20c58]
lea esi, [esi]
cmp eax, ecx
jge 0x6a7f9df9
mov edx, dword [ebp + 8]
mov dword [edx + 0x20c58], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x288dc], 2
je 0x6a7f9f90
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
call fcn.6a805b00
mov edx, dword [ebp + 8]
mov dword [edx + 0x19ee8], 1
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov dword [edx + 0x19ef0], eax
mov eax, dword [edx + 0x19d54]
test eax, eax
je 0x6a7fa5ad
mov eax, dword [edx + 0x19d90]
test eax, eax
je 0x6a7fadee
mov eax, dword [edx + 0x19dcc]
test eax, eax
je 0x6a7fadf8
mov eax, dword [edx + 0x19e08]
test eax, eax
je 0x6a7fae02
mov dword [esp + 8], 0x1363
mov dword [esp + 4], str.vp8_encoder_onyx_if.c
mov dword [esp], str.i___NUM_YV12_BUFFERS
call sub.msvcrt.dll__assert
nop
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0x19eec]
test edi, edi
jne 0x6a7f9ea8
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c7e0]
mov dword [ebp - 0x140], ecx
jmp 0x6a7f970d
mov edx, dword [ebp - 0x144]
xor edx, ebx
mov eax, dword [ebp - 0x148]
xor eax, ecx
or edx, eax
je 0x6a7f9695
mov eax, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20ca8]
mov edx, dword [edx + 0x20cac]
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], edx
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
sub eax, dword [ebp - 0x1f8]
sbb edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1f4]
mov edi, dword [ebp + 8]
sub eax, dword [edi + 0x20ca0]
sbb edx, dword [edi + 0x20ca4]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], edx
or edx, eax
jne 0x6a7fa1b4
mov edx, dword [ebp - 0x18c]
or edx, dword [ebp - 0x190]
jne 0x6a7fa540
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c7e0]
mov dword [ebp - 0x140], ecx
jmp 0x6a7f96e0
add esi, 7
jmp 0x6a7f98d0
mov eax, dword [ecx + 0x1b92c]
test eax, eax
je 0x6a7f9625
mov eax, dword [ecx + 0x1c8b4]
mov dword [ecx + 0x1c8fc], eax
jmp 0x6a7f9625
cmp dword [ecx + 0x1c7e0], 1
je 0x6a7fae0c
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
push eax
lea eax, [ebp - 0xc0]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
push edx
jmp 0x6a7f9e09
fstp st(0)
mov ecx, 0x11
fld dword [0x6ac5008c]
jmp 0x6a7f9d2b
or edx, eax
mov eax, dword [ebp + 8]
je 0x6a7f99a6
add eax, 0x1c824
mov dword [ebp - 0x110], eax
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x1c760]
mov dword [ebp - 0x17c], edx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c768]
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x128], 1
fldz
fstp qword [ebp - 0x160]
mov ecx, eax
jmp 0x6a7fa0bc
mov esi, dword [ebp - 0x110]
sub ecx, dword [esi - 0x44]
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fld qword [ebp - 0x160]
fsubr st(2)
fdivp st(1)
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
fldcw word [ebp - 0xfc]
fistp dword [ebx + 0x24]
fldcw word [ebp - 0xfa]
mov edi, dword [ebp - 0x104]
mov dword [ebx + 0x40], edi
mov ecx, dword [ebp - 0x120]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x58], edi
mov ebx, dword [ebp - 0x140]
cmp dword [ebp - 0x128], ebx
jae 0x6a7f9b56
add dword [ebp - 0x110], 4
inc dword [ebp - 0x128]
fstp qword [ebp - 0x160]
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0x128]
dec edi
lea eax, [edi + edi*4]
shl eax, 5
mov edx, dword [ebp + 8]
lea ebx, [edx + eax + 0x2b6f0]
mov eax, dword [ecx]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fdivr qword [ebp - 0x118]
fst qword [ebx]
mov ecx, dword [ecx - 0x40]
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea esi, [eax + eax*4]
shl esi, 3
mov dword [ebx + 8], esi
mov eax, dword [ebp - 0x11c]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [ebp - 0x1dc], ecx
fstp qword [ebp - 0x1d8]
call fcn.6aa7e29c
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x17c]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
call fcn.6aa7e29c
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x180]
imul esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
call fcn.6aa7e29c
mov dword [ebx + 0x14], eax
test edi, edi
mov ecx, dword [ebp - 0x1dc]
fld qword [ebp - 0x1d8]
jne 0x6a7fa024
mov esi, dword [ebp - 0x104]
mov dword [ebx + 0x40], esi
mov edi, dword [ebp - 0x120]
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x58], esi
jmp 0x6a7fa0a3
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
sub eax, dword [ebp - 0x1e8]
sbb edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
add eax, eax
adc edx, edx
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
shld edx, eax, 3
shl eax, 3
add dword [ebp - 0x1b0], eax
adc dword [ebp - 0x1ac], edx
mov eax, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [ebp - 0x1dc], ecx
call fcn.6aa7e29c
mov edx, dword [ebp - 0x18c]
or edx, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x1dc]
jne 0x6a7fa25e
mov ecx, dword [edi + 0x1c7e0]
mov dword [ebp - 0x140], ecx
jmp 0x6a7f96e0
test eax, eax
je 0x6a7fa540
fild qword [ebp - 0x190]
fdivr dword [0x6ac500b0]
mov ebx, dword [ebp + 8]
fst qword [ebx + 0x20cf8]
mov eax, ebx
mov eax, dword [eax + 0x1c7e0]
mov dword [ebp - 0x140], eax
cmp eax, 1
jbe 0x6a7faef2
xor edx, edx
mov dword [ebp - 0x1b8], esi
mov ecx, edx
mov esi, eax
mov edi, dword [ebp + 8]
lea esi, [esi]
lea ebx, [ecx + ecx*4]
shl ebx, 5
mov eax, dword [edi + ecx*4 + 0x1c824]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fdivr st(1)
fstp qword [edi + ebx + 0x2b6f0]
inc ecx
cmp ecx, esi
jne 0x6a7fa2a4
fstp st(0)
mov esi, dword [ebp - 0x1b8]
jmp 0x6a7f96e0
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x6a7f999c
mov esi, dword [ebp + 8]
cmp dword [esi + 0x288f8], 1
jne 0x6a7f999c
mov eax, dword [esi + 0x2ad10]
test eax, eax
jne 0x6a7f999c
mov dword [esp], esi
call fcn.6a826430
mov dword [esi + 0x2ad10], 1
mov eax, 0xffffffff
jmp 0x6a7f94c1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x20c40]
mov dword [edx + 0x19f34], eax
mov dword [edx + 0x1ac74], 1
mov dword [edx + 0x1ac70], 0
mov dword [edx + 0x1ac6c], 0
mov dword [edx + 0x19eec], 0
mov dword [edx + 0x1c900], 0
mov dword [edx + 0x1c908], 0
mov ebx, esi
jmp 0x6a7f95e2
mov ebx, dword [ebp + 8]
add ebx, 0x1c824
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c768]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x12c], 1
fldz
fstp qword [ebp - 0x168]
jmp 0x6a7fa3d6
mov ecx, dword [ebp - 0x104]
mov dword [edi + 0x40], ecx
mov esi, dword [ebp - 0x120]
mov dword [edi + 0x48], esi
mov dword [edi + 0x58], ecx
add ebx, 4
inc dword [ebp - 0x12c]
fld qword [ebp - 0x138]
fstp qword [ebp - 0x168]
mov esi, dword [ebp - 0x12c]
dec esi
lea eax, [esi + esi*4]
shl eax, 5
mov edx, dword [ebp + 8]
lea edi, [edx + eax + 0x2b6f0]
mov dword [ebp - 0x16c], ebx
mov eax, dword [ebx]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fdivr qword [ebp - 0x118]
fst qword [ebp - 0x138]
fstp qword [edi]
mov ecx, dword [ebx - 0x40]
mov dword [ebp - 0x124], ecx
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
shl ecx, 3
mov dword [edi + 8], ecx
mov eax, dword [ebp - 0x11c]
imul ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
mov dword [ebp - 0x1dc], ecx
call fcn.6aa7e29c
mov dword [edi + 0xc], eax
mov ecx, dword [ebp - 0x1dc]
mov eax, ecx
test ecx, ecx
js 0x6a7fa530
sar eax, 3
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x184]
imul ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x3e8
mov dword [esp + 0xc], 0
call fcn.6aa7e29c
mov dword [edi + 0x14], eax
test esi, esi
je 0x6a7fa3ac
mov esi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x16c]
sub esi, dword [ecx - 0x44]
lea eax, [esi + esi*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 3
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fld qword [ebp - 0x138]
fsub qword [ebp - 0x168]
fdivp st(1)
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
fldcw word [ebp - 0xfc]
fistp dword [edi + 0x24]
fldcw word [ebp - 0xfa]
mov esi, dword [ebp - 0x104]
mov dword [edi + 0x40], esi
mov ecx, dword [ebp - 0x120]
mov dword [edi + 0x48], ecx
mov dword [edi + 0x58], esi
mov esi, dword [ebp - 0x140]
cmp dword [ebp - 0x12c], esi
jb 0x6a7fa3c1
jmp 0x6a7f9b58
lea eax, [ecx + 7]
jmp 0x6a7fa46c
add esi, 7
jmp 0x6a7f9ac1
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a4]
sub eax, ecx
sbb edx, ebx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fld dword [0x6ac500b0]
fld st(0)
fxch st(2)
fucom st(2)
fnstsw ax
fstp st(2)
test ah, 0x45
jne 0x6a7fa57b
fstp st(1)
jmp 0x6a7fa57d
fstp st(0)
fld dword [0x6ac500b0]
fld st(0)
mov edi, dword [ebp + 8]
fdiv qword [edi + 0x20cf8]
fld st(2)
fsub st(1)
fild qword [ebp - 0x190]
faddp st(1)
fmulp st(1)
fdivrp st(2)
fdivrp st(1)
fst qword [edi + 0x20cf8]
mov eax, edi
jmp 0x6a7fa27d
xor eax, eax
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x19e1c], eax
mov eax, dword [ebx + 0x288f8]
cmp eax, 1
je 0x6a7faa5c
cmp eax, 2
je 0x6a7fa97c
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x18]
mov dword [esp], edx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
call fcn.6a7f6104
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x288dc], 2
je 0x6a7faa7c
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0x1ac80]
test esi, esi
je 0x6a7fa904
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x1ac74]
test ebx, ebx
jne 0x6a7fa944
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x1ac70]
test ecx, ecx
jne 0x6a7fa924
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1ac6c]
test edx, edx
jne 0x6a7fa960
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
test eax, eax
je 0x6a7fa70b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x19ee8]
test eax, eax
je 0x6a7fa8fc
mov edi, dword [ecx + 0x1ac6c]
test edi, edi
jne 0x6a7fa8fc
mov esi, dword [ecx + 0x1ac70]
test esi, esi
jne 0x6a7fa8fc
mov ebx, dword [ecx + 0x1ac74]
test ebx, ebx
jne 0x6a7fa8fc
mov edx, dword [ecx + 0x1ac78]
test edx, edx
jne 0x6a7fa8fc
mov eax, dword [ecx + 0x1ac7c]
test eax, eax
jne 0x6a7fa8fc
mov eax, dword [ecx + 0x1ac80]
test eax, eax
jne 0x6a7fa8fc
cmp byte [ecx + 0x12030], 0
jne 0x6a7fa8fc
xor eax, eax
test dword [ecx + 0x12020], 0xffff00
sete al
lea esi, [esi]
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x2b66c], eax
mov dword [ebx + 0x1ac80], 1
mov dword [ebx + 0x1ac74], 0
mov dword [ebx + 0x1ac70], 0
mov dword [ebx + 0x1ac6c], 1
mov dword [ebx + 0x19ee8], 1
mov esi, dword [ebp + 8]
cmp dword [esi + 0x1c7e0], 1
jbe 0x6a7fa84b
mov eax, dword [esi + 0x2b6e8]
lea eax, [eax + eax*4]
shl eax, 5
lea edi, [esi + eax + 0x2b6f0]
mov eax, dword [esi + 0x288bc]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x1c740]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x1c748]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x1c750]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x1c758]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x1c760]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x1c768]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x20d00]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x20d08]
mov dword [edi + 0x2c], eax
mov eax, dword [esi + 0x20d20]
mov edx, dword [esi + 0x20d24]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], edx
mov eax, dword [esi + 0x20d2c]
mov dword [edi + 0x3c], eax
mov eax, dword [esi + 0x20d30]
mov dword [edi + 0x40], eax
mov eax, dword [esi + 0x20d34]
mov dword [edi + 0x44], eax
mov eax, dword [esi + 0x20d38]
mov dword [edi + 0x48], eax
mov eax, dword [esi + 0x20cb8]
mov dword [edi + 0x4c], eax
mov eax, dword [esi + 0x20cbc]
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x20cc0]
mov dword [edi + 0x54], eax
mov eax, dword [esi + 0x20cc4]
mov dword [edi + 0x58], eax
fld qword [esi + 0x20c28]
fstp qword [edi + 0x60]
fld qword [esi + 0x20c30]
fstp qword [edi + 0x68]
fld qword [esi + 0x20c38]
fstp qword [edi + 0x70]
mov eax, dword [esi + 0x20cc8]
mov dword [edi + 0x78], eax
mov eax, dword [esi + 0x20c90]
mov dword [edi + 0x7c], eax
mov eax, dword [esi + 0x20ce0]
mov edx, dword [esi + 0x20ce4]
mov dword [edi + 0x80], eax
mov dword [edi + 0x84], edx
mov eax, dword [esi + 0x1ac60]
mov dword [edi + 0x88], eax
mov eax, dword [esi + 0x28948]
mov dword [edi + 0x8c], eax
lea eax, [edi + 0x90]
add esi, 0x28934
mov ecx, 4
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xa8]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
push eax
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x29bac]
mov esi, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xa4]
sub esi, dword [ebp - 0xb0]
sbb edi, dword [ebp - 0xac]
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceFrequency
push eax
imul ecx, edi, 0xf4240
mov eax, 0xf4240
mul esi
add edx, ecx
mov esi, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xd4]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6aa7e29c
add eax, ebx
mov edi, dword [ebp + 8]
mov dword [edi + 0x29bac], eax
mov eax, dword [edi + 0x2b640]
test eax, eax
je 0x6a7fa8e5
cmp dword [edi + 0x288f8], 1
je 0x6a7fa8e5
mov eax, dword [edi + 0x19eec]
test eax, eax
jne 0x6a7fab81
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x196b8], 0
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
jmp 0x6a7fa6d0
mov eax, ebx
add eax, 0x1b4ab
mov esi, ebx
add esi, 0x1b02c
mov ecx, 0x47f
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x6a7fa60c
mov eax, edi
add eax, 0x2a6b6
mov esi, edi
add esi, 0x1b4ab
mov ecx, 0x47f
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x6a7fa62e
mov eax, esi
add eax, 0x2a237
add esi, 0x1b4ab
mov ecx, 0x47f
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x6a7fa61d
mov esi, eax
add eax, 0x29db8
add esi, 0x1b4ab
mov ecx, 0x47f
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x6a7fa63f
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x1ac74]
test eax, eax
je 0x6a7fade1
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x18]
mov dword [esp], edx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
call fcn.6a7f6104
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
mov eax, ecx
shl eax, 3
xor edx, edx
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x2ad18]
mov ebx, dword [esi + 0x2ad1c]
sub ecx, eax
sbb ebx, edx
mov dword [esi + 0x2ad18], ecx
mov dword [esi + 0x2ad1c], ebx
mov edi, dword [esi + 0x1ac74]
test edi, edi
jne 0x6a7fa5eb
mov edi, esi
mov esi, dword [esi + 0x1c70c]
imul esi, dword [edi + 0x1c798]
mov eax, 0x51eb851f
imul esi
mov eax, edx
sar eax, 5
sar esi, 0x1f
sub eax, esi
mov dword [ebp - 0x100], eax
fild dword [ebp - 0x100]
fdiv qword [edi + 0x20cf0]
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
fldcw word [ebp - 0xfc]
fistp qword [ebp - 0xf8]
fldcw word [ebp - 0xfa]
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
add eax, ecx
adc edx, ebx
mov dword [edi + 0x2ad18], eax
mov dword [edi + 0x2ad1c], edx
jmp 0x6a7fa5eb
mov dword [esp + 4], 0x1a
mov esi, dword [ebp + 8]
mov dword [esp], esi
call fcn.6a81560c
mov dword [esp], esi
call fcn.6a826474
jmp 0x6a7fa5eb
lea eax, [ebp - 0xc8]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
push edi
lea eax, [ebp - 0xb8]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
push eax
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb4]
sub esi, dword [ebp - 0xc0]
sbb edi, dword [ebp - 0xbc]
lea eax, [ebp - 0xe0]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceFrequency
push eax
imul ecx, edi, 0xf4240
mov eax, 0xf4240
mul esi
add edx, ecx
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xdc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.6aa7e29c
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], ebx
fild qword [ebp - 0xf8]
fmul dword [0x6ac50088]
fnstcw word [ebp - 0xfa]
mov dx, word [ebp - 0xfa]
mov dh, 0xc
mov word [ebp - 0xfc], dx
fldcw word [ebp - 0xfc]
fistp qword [ebp - 0xf8]
fldcw word [ebp - 0xfa]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 0x19ee8]
test ebx, ebx
je 0x6a7fab5d
mov ebx, edx
mov edx, dword [edx + 0x288cc]
test edx, edx
jne 0x6a7faed6
mov dword [ebx + 0x288cc], eax
test ecx, ecx
je 0x6a7fa5fb
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x288d0]
test eax, eax
jne 0x6a7faec0
mov dword [edx + 0x288d0], ecx
jmp 0x6a7fa5fb
mov ebx, dword [edi + 0x1c8b8]
mov dword [ebp - 0x188], ebx
mov ebx, dword [edi + 0x19d18]
mov esi, dword [edi + 0x19d00]
mov dword [ebp - 0x1e0], esi
mov edi, dword [edi + 0x19d04]
mov dword [ebp - 0xa0], 2
mov ecx, dword [ebx + 0x18]
mov esi, dword [ebp - 0x188]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x18]
mov dword [esp + 8], edi
mov esi, dword [ebp - 0x1e0]
mov dword [esp + 4], esi
mov esi, dword [ebx + 8]
mov dword [esp], esi
call fcn.6a7f2fd4
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x1e0]
imul eax, edi
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov esi, dword [ebp - 0x1e0]
inc esi
shr esi, 1
mov dword [ebp - 0x1b4], esi
inc edi
shr edi, 1
mov ecx, dword [ebx + 0x1c]
mov esi, dword [ebp - 0x188]
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov dword [esp + 8], edi
mov esi, dword [ebp - 0x1b4]
mov dword [esp + 4], esi
mov esi, dword [ebx + 0x14]
mov dword [esp], esi
call fcn.6a7f2fd4
add dword [ebp - 0x88], eax
adc dword [ebp - 0x84], edx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov esi, dword [ebp - 0x1b4]
imul esi, edi
add dword [ebp - 0x98], esi
mov dword [ebp - 0x90], esi
mov ecx, dword [ebx + 0x20]
mov eax, dword [ebp - 0x188]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 0x20]
mov dword [esp + 8], edi
mov edi, dword [ebp - 0x1b4]
mov dword [esp + 4], edi
mov ebx, dword [ebx + 0x14]
mov dword [esp], ebx
mov edx, dword [ebp - 0x1ec]
call fcn.6a7f2fd4
add dword [ebp - 0x88], eax
adc dword [ebp - 0x84], edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
add dword [ebp - 0x98], esi
mov dword [ebp - 0x8c], esi
fild qword [ebp - 0x88]
mov edi, dword [ebp - 0x84]
test edi, edi
js 0x6a7fb031
fstp qword [esp + 0x10]
fld dword [0x6ac500b8]
fstp qword [esp + 8]
mov eax, dword [ebp - 0x98]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.6a82e88c
fstp qword [ebp - 0x68]
fild qword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
test esi, esi
js 0x6a7fb026
fstp qword [esp + 0x10]
fld dword [0x6ac500b8]
fstp qword [esp + 8]
mov eax, dword [ebp - 0x94]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.6a82e88c
fstp qword [ebp - 0x60]
fild qword [ebp - 0x78]
mov ebx, dword [ebp - 0x74]
test ebx, ebx
js 0x6a7fb01b
fstp qword [esp + 0x10]
fld dword [0x6ac500b8]
fstp qword [esp + 8]
mov eax, dword [ebp - 0x90]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.6a82e88c
fstp qword [ebp - 0x58]
fild qword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
js 0x6a7fb010
fstp qword [esp + 0x10]
fld dword [0x6ac500b8]
fstp qword [esp + 8]
mov eax, dword [ebp - 0x8c]
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.6a82e88c
fstp qword [ebp - 0x50]
lea eax, [ebp - 0xa0]
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x288c0]
mov dword [esp], eax
call fcn.6a7f1cc4
jmp 0x6a7fa8e5
mov dword [esp], edi
call fcn.6a82785c
jmp 0x6a7fa98d
mov eax, 1
jmp 0x6a7fa5af
mov eax, 2
jmp 0x6a7fa5af
mov eax, 3
jmp 0x6a7fa5af
mov ebx, dword [ecx + 0x2b654]
mov esi, ecx
mov ecx, dword [ecx + 0x19ef8]
imul ecx, dword [esi + 0x19efc]
mov edi, esi
mov esi, dword [esi + 0x2893c]
mov eax, dword [edi + 0x299dc]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
mov edi, eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x299e4]
test edx, edx
jne 0x6a7fb03c
cmp dword [eax + 0x19f30], 7
jbe 0x6a7f9f9d
lea eax, [ebx + ebx*4]
lea eax, [eax + eax*4]
shl eax, 2
cdq
idiv ecx
mov ebx, eax
cmp eax, 9
jle 0x6a7fae7f
imul eax, esi, 0x64
cdq
idiv ecx
add eax, ebx
cmp eax, 0xe
jg 0x6a7fb0b7
cmp edi, 0x18
jle 0x6a7fb0a5
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x299e0]
mov eax, edx
inc eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x299e0], eax
cmp eax, 7
jle 0x6a7f9f9d
mov dword [ecx + 0x299e4], 1
mov dword [ecx + 0x299e0], 0
jmp 0x6a7f9f9d
lea edx, [ecx + eax*8]
sub edx, eax
shr edx, 3
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x288d0], edx
jmp 0x6a7fa5fb
lea eax, [edx*8]
sub eax, edx
add esi, eax
shr esi, 3
mov edi, dword [ebp + 8]
mov dword [edi + 0x288cc], esi
jmp 0x6a7fab5d
fld qword [0x6ac50080]
fucomp st(1)
fnstsw ax
test ah, 0x45
je 0x6a7fb07d
fld st(0)
fmul dword [0x6ac50088]
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
fldcw word [ebp - 0xfc]
fistp dword [ebp - 0x100]
fldcw word [ebp - 0xfa]
mov ecx, dword [ebp - 0x100]
add ecx, 2
mov edx, dword [ebp + 8]
fst qword [edx + 0x20cf0]
fst qword [edx + 0x20c98]
fidivr dword [edx + 0x1c70c]
fldcw word [ebp - 0xfc]
fistp dword [ebp - 0x100]
fldcw word [ebp - 0xfa]
mov ebx, dword [ebp - 0x100]
mov dword [edx + 0x20c84], ebx
mov dword [edx + 0x20c88], ebx
imul ebx, dword [edx + 0x1c798]
mov eax, 0x51eb851f
imul ebx
mov eax, edx
sar eax, 5
sar ebx, 0x1f
sub eax, ebx
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x20c8c], eax
mov dword [ebx + 0x20c58], ecx
cmp ecx, 0xb
jg 0x6a7fafb2
mov dword [ebx + 0x20c58], 0xc
mov ecx, 0xc
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x1c960]
shr eax, 1
mov dword [edi + 0x2ad68], eax
mov edx, dword [edi + 0x1c7a0]
test edx, edx
je 0x6a7faffa
mov edx, dword [edi + 0x1c730]
test edx, edx
je 0x6a7faffa
cmp edx, ecx
jg 0x6a7fafe4
lea ecx, [edx - 1]
mov dword [edi + 0x20c58], ecx
cmp eax, edx
jl 0x6a7faffa
lea eax, [edx - 1]
mov edx, dword [ebp + 8]
mov dword [edx + 0x2ad68], eax
mov ecx, dword [edx + 0x20c58]
cmp eax, ecx
jge 0x6a7f96e0
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20c58], eax
jmp 0x6a7f96e0
fadd dword [0x6ac500b4]
jmp 0x6a7fad8e
fadd dword [0x6ac500b4]
jmp 0x6a7fad4d
fadd dword [0x6ac500b4]
jmp 0x6a7fad0c
fadd dword [0x6ac500b4]
jmp 0x6a7faccb
cmp edi, 0xe
jg 0x6a7f9f9d
mov edi, dword [ebp + 8]
mov dword [edi + 0x299e4], 0
mov dword [edi + 0x299e0], 0
jmp 0x6a7f9f9d
mov edi, dword [ebp + 8]
mov dword [edi + 0x1c908], 1
mov dword [edi + 0x1c8b0], 0
jmp 0x6a7f95da
fstp st(0)
mov ecx, 0x11
fld dword [0x6ac5008c]
fnstcw word [ebp - 0xfa]
mov ax, word [ebp - 0xfa]
mov ah, 0xc
mov word [ebp - 0xfc], ax
jmp 0x6a7faf3e
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x299e0], 0
jmp 0x6a7f9f9d
mov esi, dword [ebp + 8]
mov dword [esi + 0x299e0], 0
jmp 0x6a7f9f9d