Function at 0xc24ff0
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, 0x17c
mov eax, dword [ebp + 8]
test eax, eax
je 0xc256c3
mov eax, dword [ebp + 8]
add eax, 0x19c1c
mov dword [esp], eax
call sub.msvcrt.dll__setjmp
test eax, eax
je 0xc25035
mov eax, dword [ebp + 8]
mov dword [eax + 0x19c18], 0
mov eax, 7
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x38]
mov dword [edx + 0x19c18], 1
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
mov ecx, dword [ebp + 8]
mov edi, dword [ecx + 0x1f768]
mov dword [ecx + 0x1f854], 0
sub esp, 4
test edi, edi
jne 0xc25420
mov esi, dword [ecx + 0x1f748]
test esi, esi
je 0xc25420
mov ebx, dword [ecx + 0x1f8a0]
test ebx, ebx
je 0xc25420
mov eax, dword [ecx + 0x23be0]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x1f850]
mov dword [esp], eax
call fcn.00c2f570
mov ebx, dword [ebp + 8]
test eax, eax
mov dword [ebx + 0x1f854], eax
je 0xc25420
mov ecx, dword [ebx + 0x1f76c]
mov dword [ebx + 0x1f858], eax
test ecx, ecx
jle 0xc26060
mov eax, dword [ebx + 0x23be0]
mov esi, ebx
mov dword [esp], ebx
add esi, 0x2ca98
mov dword [esp + 4], eax
call fcn.00c50c10
mov eax, dword [ebx + 0x1f854]
mov edx, dword [ebx + 0x23be0]
mov dword [ebx + 0x1db94], 1
mov dword [ebx + 0x1db90], 0
test eax, eax
mov dword [ebx + 0x1ce54], edx
mov dword [ebx + 0x1db8c], 0
mov dword [ebx + 0x1ce0c], 0
mov dword [ebx + 0x1f8a0], 0
mov dword [ebx + 0x1f8a8], 0
je 0xc25422
mov ebx, dword [ebp + 8]
test esi, esi
cmove esi, eax
mov ecx, dword [eax + 0x40]
mov edi, dword [ebp + 0x20]
mov edx, dword [ebp + 0xc]
mov dword [ebx + 0x1f85c], esi
mov dword [ebx + 0x1f860], esi
mov ebx, dword [eax + 0x44]
mov esi, dword [ebp + 0x1c]
mov dword [esi], ecx
mov dword [esi + 4], ebx
mov ecx, dword [eax + 0x48]
mov ebx, dword [eax + 0x4c]
mov eax, dword [eax + 0x50]
mov dword [edi], ecx
mov ecx, dword [ebp + 8]
mov dword [edi + 4], ebx
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov esi, dword [ecx + 0x1f788]
cmp esi, 1
jbe 0xc252e1
mov eax, dword [ecx + 0x1e84c]
xor edx, edx
mov edi, ecx
div dword [ecx + 0x1f80c]
mov edx, dword [ecx + edx*4 + 0x1f810]
imul eax, edx, 0x98
mov dword [ecx + 0x2d368], edx
lea eax, [ecx + eax + 0x2d370]
mov edx, dword [eax + 8]
mov dword [ecx + 0x2b434], edx
mov dword [ecx + 0x1f6cc], edx
mov edx, dword [eax + 0xc]
mov dword [ecx + 0x1f700], edx
mov ecx, edx
mov edx, dword [eax + 0x10]
sar ecx, 0x1f
mov dword [edi + 0x1f704], ecx
mov dword [edi + 0x1f708], edx
mov ebx, edx
mov edx, dword [eax + 0x14]
sar ebx, 0x1f
mov dword [edi + 0x1f70c], ebx
mov dword [edi + 0x1f710], edx
mov ecx, edx
mov edx, dword [eax + 0x1c]
sar ecx, 0x1f
mov dword [edi + 0x1f714], ecx
mov ecx, dword [eax + 0x28]
mov dword [edi + 0x23c98], edx
mov ebx, edx
mov edx, dword [eax + 0x20]
sar ebx, 0x1f
mov dword [edi + 0x23c9c], ebx
mov ebx, dword [eax + 0x2c]
mov dword [edi + 0x23cb8], ecx
mov dword [edi + 0x23ca0], edx
mov edx, dword [eax + 0x38]
mov dword [edi + 0x23cbc], ebx
mov dword [edi + 0x23cc8], edx
mov edx, dword [eax + 0x40]
mov dword [edi + 0x23cd0], edx
mov edx, dword [eax + 0x44]
mov dword [edi + 0x23c58], edx
mov edx, dword [eax + 0x48]
mov dword [edi + 0x23c5c], edx
mov edx, dword [eax + 0x4c]
fld qword [eax + 0x58]
mov ecx, dword [eax + 0x78]
mov ebx, dword [eax + 0x7c]
mov dword [edi + 0x23c60], edx
mov edx, dword [eax + 0x50]
fstp qword [edi + 0x23bc8]
fld qword [eax + 0x60]
fstp qword [edi + 0x23bd0]
fld qword [eax + 0x68]
mov dword [edi + 0x23c64], edx
mov edx, dword [eax + 0x70]
fstp qword [edi + 0x23bd8]
mov dword [edi + 0x23c68], edx
mov edx, dword [eax + 0x74]
mov dword [edi + 0x23c80], ecx
lea ecx, [eax + 0x88]
mov dword [edi + 0x23c84], ebx
mov dword [edi + 0x23c30], edx
mov edx, dword [eax + 0x80]
mov dword [edi + 0x1db80], edx
mov edx, dword [eax + 0x84]
mov dword [edi + 0x2b4c8], edx
mov eax, dword [eax + 0x88]
mov dword [edi + 0x2b4b4], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0x2b4b8], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x2b4bc], eax
mov eax, dword [ecx + 0xc]
mov dword [edi + 0x2b4c0], eax
mov eax, edi
mov edi, dword [eax + 0x1f854]
mov edx, eax
mov edx, dword [edx + 0x23c54]
mov eax, dword [eax + 0x23c50]
mov ebx, dword [edi + 0x44]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], edx
cmp ebx, edx
jg 0xc25338
jl 0xc25311
cmp ecx, eax
jae 0xc25338
mov eax, dword [ebp + 8]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], ebx
mov dword [eax + 0x23c50], ecx
mov dword [eax + 0x23c54], ebx
mov dword [eax + 0x23c48], ecx
mov dword [eax + 0x23c4c], ebx
cmp esi, 1
jbe 0xc254d0
mov edx, dword [ebp + 8]
imul eax, dword [edx + 0x2d368], 0x98
fld qword [edx + eax + 0x2d370]
fstp qword [esp + 4]
mov dword [esp], edx
call fcn.00c1fb50
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 8]
mov eax, dword [ecx + 0x1f854]
mov ecx, dword [eax + 0x40]
mov ebx, dword [eax + 0x44]
mov edx, dword [eax + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [esi + 0x23c40], ecx
mov dword [esi + 0x23c44], ebx
mov dword [esi + 0x23c4c], edx
mov dword [esi + 0x23c48], eax
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0x2b454], 2
je 0xc25695
mov edi, dword [ebp + 0x10]
mov dword [edi], 0
call fcn.00c2f5d0
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [eax + 0x1ce08], 1
mov eax, dword [edx]
mov dword [ecx + 0x1ce10], eax
mov eax, dword [ecx + 0x1ccb4]
test eax, eax
je 0xc256f1
mov eax, dword [ecx + 0x1ccf0]
test eax, eax
je 0xc25f95
mov eax, dword [ecx + 0x1cd2c]
test eax, eax
je 0xc25f9f
mov eax, dword [ecx + 0x1cd68]
test eax, eax
je 0xc25fa9
mov dword [esp + 8], 0x142f
mov dword [esp + 4], str.vp8_encoder_onyx_if.c
mov dword [esp], 0x114abff
call sub.msvcrt.dll__assert
nop
xor esi, esi
mov edi, dword [ebp + 0x24]
mov edx, dword [ebp + 8]
mov dword [esp + 4], edi
mov eax, dword [edx + 0x1f850]
mov dword [esp], eax
call fcn.00c2f4e0
mov ecx, dword [ebp + 8]
test eax, eax
mov dword [ecx + 0x1f854], eax
je 0xc25475
mov edx, dword [ecx + 0x1f858]
mov dword [ecx + 0x1ce0c], 1
test edx, edx
je 0xc25463
cmp eax, edx
je 0xc26195
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x1f8a8], 0
jmp 0xc25134
mov edx, dword [ebp + 0x24]
mov eax, 0xffffffff
mov ebx, dword [ebp + 0x10]
test edx, edx
mov dword [ebx], 0
je 0xc2502d
mov esi, dword [ebp + 8]
cmp dword [esi + 0x2b478], 1
jne 0xc2502d
mov edi, dword [esi + 0x2c920]
test edi, edi
jne 0xc2502d
mov dword [ebp - 0x144], eax
mov dword [esp], esi
call fcn.00c45330
mov eax, dword [ebp - 0x144]
mov dword [esi + 0x2c920], 1
jmp 0xc2502d
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x1db94]
test esi, esi
jne 0xc25391
mov edx, dword [ebp - 0x104]
mov eax, dword [ebp - 0x108]
xor edx, ebx
xor eax, ecx
or edx, eax
je 0xc256cd
mov ebx, dword [edi + 0x4c]
mov esi, dword [ebp + 8]
mov ecx, dword [edi + 0x48]
mov dword [ebp - 0x12c], ebx
mov ebx, dword [esi + 0x23c48]
mov esi, dword [esi + 0x23c4c]
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x160], ebx
mov ebx, dword [ebp - 0x130]
mov dword [ebp - 0x15c], esi
mov eax, dword [ebp - 0x160]
mov esi, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x15c]
sub ebx, dword [ebp - 0x160]
sbb esi, dword [ebp - 0x15c]
sub eax, dword [ecx + 0x23c40]
sbb edx, dword [ecx + 0x23c44]
mov dword [ebp - 0x128], eax
xor eax, eax
mov dword [ebp - 0x124], edx
or edx, dword [ebp - 0x128]
je 0xc255d3
mov eax, ebx
mov edx, esi
sub eax, dword [ebp - 0x128]
sbb edx, dword [ebp - 0x124]
mov dword [ebp - 0x168], eax
mov eax, 0xa
imul ecx, edx, 0xa
mov dword [ebp - 0x164], edx
mul dword [ebp - 0x168]
add edx, ecx
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x14c], edx
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x14c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00de3110
mov edx, esi
or edx, ebx
je 0xc25669
test eax, eax
jne 0xc260de
mov eax, dword [ebp - 0x130]
mov edx, dword [ebp - 0x12c]
sub eax, dword [ebp - 0x108]
sbb edx, dword [ebp - 0x104]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fld dword [0x114b970]
fld st(0)
fxch st(2)
fucomi st(2)
fstp st(2)
jbe 0xc25623
fstp st(1)
jmp 0xc25625
fstp st(0)
mov edi, dword [ebp + 8]
fld dword [0x114b970]
fld st(0)
fdiv qword [edi + 0x23c90]
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], esi
mov dword [esp], edi
fld st(2)
fsub st(1)
fild qword [ebp - 0xf8]
faddp st(1)
fmulp st(1)
fdivrp st(2)
fdivrp st(1)
fstp qword [esp + 4]
call fcn.00c1fb50
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x1f854]
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x44]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x23c40], eax
mov eax, dword [edi + 0x48]
mov dword [ecx + 0x23c44], edx
mov edx, dword [edi + 0x4c]
mov dword [ecx + 0x23c48], eax
mov dword [ecx + 0x23c4c], edx
jmp 0xc25391
cmp dword [ebx + 0x1f788], 1
je 0xc25fb3
lea eax, [ebp - 0x58]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
lea eax, [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
sub esp, 4
jmp 0xc253a1
mov eax, 0xffffffff
jmp 0xc2502d
mov eax, dword [edi + 0x48]
mov edx, dword [edi + 0x4c]
mov dword [ebp - 0x130], eax
sub eax, ecx
mov dword [ebp - 0x12c], edx
sbb edx, ebx
mov ebx, eax
mov esi, edx
mov eax, 1
jmp 0xc255d3
xor eax, eax
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x1cd7c], eax
mov eax, dword [ebx + 0x2b478]
cmp eax, 1
je 0xc25c00
cmp eax, 2
jne 0xc25a80
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x1db94]
test eax, eax
je 0xc25c30
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov edx, dword [ebp + 0x10]
call fcn.00c21960
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov ebx, dword [ebp + 8]
mov eax, dword [ecx]
mov esi, dword [ebx + 0x2c928]
mov edi, dword [ebx + 0x2c92c]
shl eax, 3
sub esi, eax
mov eax, dword [ebx + 0x1db94]
sbb edi, edx
mov dword [ebx + 0x2c928], esi
mov dword [ebx + 0x2c92c], edi
test eax, eax
jne 0xc257e7
mov ecx, dword [ebx + 0x1f6cc]
mov edx, 0x51eb851f
imul ecx, dword [ebx + 0x1f740]
mov eax, ecx
imul edx
sar ecx, 0x1f
sar edx, 5
sub edx, ecx
mov dword [ebp - 0x100], edx
fild dword [ebp - 0x100]
fdiv qword [ebx + 0x23c90]
fnstcw word [ebp - 0xfa]
movzx eax, 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, esi
adc edx, edi
mov dword [ebx + 0x2c928], eax
mov dword [ebx + 0x2c92c], edx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2b454], 2
je 0xc25b60
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 0x1dba0]
test edi, edi
je 0xc25b00
mov esi, dword [ebp + 0x10]
mov esi, dword [esi]
test esi, esi
je 0xc258b3
mov edi, dword [ebp + 8]
xor eax, eax
mov ebx, dword [edi + 0x1ce08]
test ebx, ebx
je 0xc25878
mov ecx, dword [edi + 0x1db8c]
test ecx, ecx
jne 0xc25878
mov edx, dword [edi + 0x1db90]
test edx, edx
jne 0xc25878
mov esi, dword [edi + 0x1db94]
test esi, esi
jne 0xc25878
mov ebx, dword [edi + 0x1db98]
test ebx, ebx
jne 0xc25878
mov ecx, dword [edi + 0x1db9c]
test ecx, ecx
jne 0xc25878
mov edx, dword [edi + 0x1dba0]
test edx, edx
jne 0xc25878
cmp byte [edi + 0x12558], 0
jne 0xc25878
xor eax, eax
test dword [edi + 0x12548], 0xffff00
sete al
mov edx, dword [ebp + 8]
mov dword [edx + 0x2d364], eax
mov dword [edx + 0x1dba0], 1
mov dword [edx + 0x1db94], 0
mov dword [edx + 0x1db90], 0
mov dword [edx + 0x1db8c], 1
mov dword [edx + 0x1ce08], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1f788], 1
jbe 0xc259ea
imul eax, dword [ecx + 0x2d368], 0x98
mov esi, ecx
mov edx, dword [ecx + 0x2b434]
mov ebx, dword [esi + 0x23cbc]
fld qword [esi + 0x23bc8]
lea eax, [ecx + eax + 0x2d370]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0x1f700]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x1f708]
mov dword [eax + 0x10], edx
mov edx, dword [ecx + 0x1f710]
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x23c98]
mov dword [eax + 0x1c], edx
mov edx, dword [ecx + 0x23ca0]
mov ecx, dword [ecx + 0x23cb8]
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x20], edx
mov edx, dword [esi + 0x23cc4]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x34], edx
mov edx, dword [esi + 0x23cc8]
mov dword [eax + 0x38], edx
mov edx, dword [esi + 0x23ccc]
mov dword [eax + 0x3c], edx
mov edx, dword [esi + 0x23cd0]
mov dword [eax + 0x40], edx
mov edx, dword [esi + 0x23c58]
mov dword [eax + 0x44], edx
mov edx, dword [esi + 0x23c5c]
mov dword [eax + 0x48], edx
mov edx, dword [esi + 0x23c60]
mov dword [eax + 0x4c], edx
mov edx, dword [esi + 0x23c64]
mov dword [eax + 0x50], edx
fstp qword [eax + 0x58]
mov edx, dword [esi + 0x23c68]
fld qword [esi + 0x23bd0]
fstp qword [eax + 0x60]
mov ebx, dword [esi + 0x23c84]
fld qword [esi + 0x23bd8]
mov dword [eax + 0x70], edx
mov edx, dword [esi + 0x23c30]
fstp qword [eax + 0x68]
mov ecx, dword [esi + 0x23c80]
mov dword [eax + 0x7c], ebx
mov dword [eax + 0x74], edx
mov edx, dword [esi + 0x1db80]
mov dword [eax + 0x78], ecx
mov dword [eax + 0x80], edx
mov edx, dword [esi + 0x2b4c8]
mov dword [eax + 0x84], edx
mov ebx, dword [esi + 0x2b4b4]
lea edx, [eax + 0x88]
mov dword [eax + 0x88], ebx
mov eax, dword [esi + 0x2b4b8]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x2b4bc]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x2b4c0]
mov dword [edx + 0xc], eax
lea eax, [ebp - 0x30]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x10c], ecx
mov ecx, dword [ebp - 0x38]
mov esi, dword [eax + 0x2c6e4]
lea eax, [ebp - 0x20]
sub esp, 4
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x114], ebx
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceFrequency
mov edx, 0xf4240
sub esp, 4
test eax, eax
jne 0xc25aa0
mov ebx, dword [ebp + 8]
add edx, esi
mov eax, dword [ebx + 0x2d338]
mov dword [ebx + 0x2c6e4], edx
test eax, eax
je 0xc25a68
cmp dword [ebx + 0x2b478], 1
je 0xc25a68
mov eax, dword [ebx + 0x1ce0c]
test eax, eax
jne 0xc25c40
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x19c18], 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], edx
mov edx, dword [ebp + 0x10]
call fcn.00c21960
jmp 0xc257e7
mov eax, dword [ebp - 0x110]
mov edx, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x118]
sbb edx, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x20]
cmp edx, ecx
jg 0xc25b55
jl 0xc25ad0
cmp eax, ebx
jae 0xc25b55
imul edi, edx, 0xf4240
mov edx, 0xf4240
mul edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
add edx, edi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00de3110
mov edx, eax
jmp 0xc25a3c
lea edi, [ebx + 0x1e3cb]
mov eax, 0x47f
test edi, 1
lea esi, [ebx + 0x1df4c]
jne 0xc26127
test edi, 2
jne 0xc26113
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0xc25b41
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0xc25808
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
jmp 0xc25808
mov edx, 0xf4240
jmp 0xc25a3c
lea eax, [ebp - 0x50]
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
lea eax, [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceCounter
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x13c], ecx
sub esp, 4
mov dword [esp], eax
call sub.KERNEL32.dll_QueryPerformanceFrequency
sub esp, 4
test eax, eax
jne 0xc25ef1
mov ecx, 0x7a120
mov edx, 0xf4240
mov eax, 0xf4240
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0x1ce08]
test esi, esi
je 0xc25bdc
mov esi, ebx
mov ebx, dword [ebx + 0x2b444]
test ebx, ebx
jne 0xc260b2
mov dword [esi + 0x2b444], eax
test ecx, ecx
je 0xc257f7
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2b448]
test eax, eax
jne 0xc260c8
mov dword [edx + 0x2b448], ecx
jmp 0xc257f7
mov esi, dword [ebp + 8]
mov dword [esp + 4], 0x1a
mov dword [esp], esi
call fcn.00c40ec0
mov eax, dword [esi + 0x1f860]
mov edx, esi
call fcn.00c1e4c0
mov dword [esp], esi
call fcn.00c45380
jmp 0xc257e7
mov dword [esp], edi
call fcn.00c46590
jmp 0xc25725
mov esi, dword [ebx + 0x1f85c]
mov edi, ebx
mov eax, edi
mov edi, dword [edi + 0x1cc64]
add eax, 0x2ca04
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x11c], esi
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebx + 0x1cc78]
mov ebx, dword [ebx + 0x1cc60]
mov dword [ebp - 0xe0], 2
mov edx, dword [eax + 8]
mov eax, dword [eax + 0x18]
mov ecx, dword [esi + 0x18]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x134]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 8]
mov dword [esp], eax
mov eax, dword [ebp - 0x148]
call fcn.00c1e2e0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc0], eax
mov eax, edi
imul eax, ebx
add ebx, 1
shr ebx, 1
mov dword [ebp - 0x120], ebx
lea ebx, [edi + 1]
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0xc4], edx
shr ebx, 1
mov dword [ebp - 0xbc], edx
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x14]
mov edi, dword [ebp - 0x134]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov edi, dword [ebp - 0x120]
mov dword [esp + 4], edi
mov edi, dword [esi + 0x14]
mov dword [esp], edi
call fcn.00c1e2e0
mov edi, dword [ebp - 0x120]
add dword [ebp - 0xc8], eax
adc dword [ebp - 0xc4], edx
imul edi, ebx
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0xb4], edx
mov ecx, dword [esi + 0x20]
add dword [ebp - 0xd8], edi
mov dword [ebp - 0xd0], edi
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x154], ecx
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp - 0x134]
mov dword [esp + 8], ebx
mov ebx, dword [ebp - 0x120]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0x154]
mov dword [esp + 4], ebx
mov ebx, dword [esi + 0x14]
mov dword [esp], ebx
call fcn.00c1e2e0
mov dword [ebp - 0xcc], edi
add dword [ebp - 0xc8], eax
adc dword [ebp - 0xc4], edx
add dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], edx
fild qword [ebp - 0xc8]
test edi, edi
js 0xc26165
fstp qword [esp + 0x10]
mov eax, dword [ebp - 0xd8]
xor edx, edx
fld dword [0x114b978]
fstp qword [esp + 8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.00c50d40
mov esi, dword [ebp - 0xbc]
test esi, esi
fstp qword [ebp - 0xa8]
fild qword [ebp - 0xc0]
js 0xc2615a
fstp qword [esp + 0x10]
mov eax, dword [ebp - 0xd4]
xor edx, edx
fld dword [0x114b978]
fstp qword [esp + 8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.00c50d40
mov ebx, dword [ebp - 0xb4]
test ebx, ebx
fstp qword [ebp - 0xa0]
fild qword [ebp - 0xb8]
js 0xc2614f
fstp qword [esp + 0x10]
mov eax, dword [ebp - 0xd0]
xor edx, edx
fld dword [0x114b978]
fstp qword [esp + 8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.00c50d40
mov ecx, dword [ebp - 0xac]
test ecx, ecx
fstp qword [ebp - 0x98]
fild qword [ebp - 0xb0]
js 0xc26144
mov eax, dword [ebp - 0xcc]
fstp qword [esp + 0x10]
xor edx, edx
fld dword [0x114b978]
fstp qword [esp + 8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
fild qword [ebp - 0xf8]
fstp qword [esp]
call fcn.00c50d40
mov edx, dword [ebp + 8]
lea eax, [ebp - 0xe0]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x2b438]
fstp qword [ebp - 0x90]
mov dword [esp], eax
call fcn.00c1c940
jmp 0xc25a68
mov ecx, dword [ebp - 0x24]
sub esi, dword [ebp - 0x140]
sbb edi, dword [ebp - 0x13c]
mov ebx, dword [ebp - 0x28]
cmp edi, ecx
jg 0xc25baa
jl 0xc25f15
cmp esi, ebx
jae 0xc25baa
imul eax, edi, 0xf4240
mov edi, 0xf4240
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esp + 0xc], ecx
mov dword [ebp - 0x138], eax
mov eax, esi
mul edi
mov edi, dword [ebp - 0x138]
add edi, edx
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00de3110
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf8], eax
mov edx, eax
fnstcw word [ebp - 0xfa]
fild qword [ebp - 0xf8]
fmul dword [0x114b948]
movzx ecx, word [ebp - 0xfa]
mov ch, 0xc
mov word [ebp - 0xfc], cx
fldcw word [ebp - 0xfc]
fistp qword [ebp - 0xf8]
fldcw word [ebp - 0xfa]
mov ecx, dword [ebp - 0xf8]
jmp 0xc25bb9
mov eax, 1
jmp 0xc256f3
mov eax, 2
jmp 0xc256f3
mov eax, 3
jmp 0xc256f3
imul eax, dword [ebx + 0x2c55c], 0x64
mov ecx, dword [ebx + 0x1ce18]
imul ecx, dword [ebx + 0x1ce1c]
mov esi, dword [ebx + 0x2d34c]
mov edx, eax
mov edi, dword [ebx + 0x2b4bc]
sar edx, 0x1f
idiv ecx
mov ebx, eax
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x2c564]
test edx, edx
jne 0xc26170
cmp dword [eax + 0x1ce50], 7
jbe 0xc256a2
imul eax, esi, 0x64
mov edx, eax
sar edx, 0x1f
idiv ecx
cmp eax, 9
mov esi, eax
jle 0xc26020
imul eax, edi, 0x64
mov edx, eax
sar edx, 0x1f
idiv ecx
add eax, esi
cmp eax, 0xe
jg 0xc261c0
cmp ebx, 0x18
jle 0xc261ae
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x2c560]
add eax, 1
cmp eax, 7
mov dword [edx + 0x2c560], eax
jle 0xc256a2
mov dword [edx + 0x2c564], 1
mov dword [edx + 0x2c560], 0
jmp 0xc256a2
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x23be0]
mov dword [esi + 0x1db94], 1
mov dword [esi + 0x1db90], 0
mov dword [esi + 0x1db8c], 0
mov dword [esi + 0x1ce54], edx
mov dword [esi + 0x1ce0c], 0
mov dword [esi + 0x1f8a0], 0
mov dword [esi + 0x1f8a8], 0
xor esi, esi
jmp 0xc25134
mov edi, dword [ebp + 8]
lea eax, [edx + ebx*8]
sub eax, ebx
shr eax, 3
mov dword [edi + 0x2b444], eax
jmp 0xc25bdc
lea edx, [ecx + eax*8]
mov ecx, dword [ebp + 8]
sub edx, eax
shr edx, 3
mov dword [ecx + 0x2b448], edx
jmp 0xc257f7
mov dword [ebp - 0xf8], ebx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xf4], esi
fild qword [ebp - 0xf8]
fdivr dword [0x114b970]
mov dword [esp], ecx
fstp qword [esp + 4]
call fcn.00c1fb50
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 0x1f854]
jmp 0xc25669
movzx edx, word [esi]
sub eax, 2
add esi, 2
mov word [edi], dx
add edi, 2
jmp 0xc25b29
movzx eax, byte [ebx + 0x1df4c]
add edi, 1
add esi, 1
mov byte [ebx + 0x1e3cb], al
mov eax, 0x47e
jmp 0xc25b1d
fadd dword [0x114b974]
jmp 0xc25e9b
fadd dword [0x114b974]
jmp 0xc25e51
fadd dword [0x114b974]
jmp 0xc25e07
fadd dword [0x114b974]
jmp 0xc25dbd
cmp ebx, 0xe
jg 0xc256a2
mov esi, dword [ebp + 8]
mov dword [esi + 0x2c564], 0
mov dword [esi + 0x2c560], 0
jmp 0xc256a2
mov dword [ecx + 0x1f8a8], 1
mov dword [ecx + 0x1f858], 0
jmp 0xc25134
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x2c560], 0
jmp 0xc256a2
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x2c560], 0
jmp 0xc256a2