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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xfc
mov edi, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea eax, [edi + 0x12000]
mov dword [ebp - 0x50], eax
lea eax, [edi + 0x19fa0]
mov dword [ebp - 0x60], eax
lea eax, [edi + 0x12c60]
mov dword [ebp - 0x70], eax
mov eax, dword [edi + 0x1cfb8]
cmp dword [edi + 0x23ba8], 2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], eax
je 0x700c95a0
mov esi, dword [edi + 0x1a92c]
test esi, esi
jne 0x700c9285
mov eax, dword [0x70ea61e8]
mov dword [edi + 0x138a8], eax
mov eax, dword [0x70ea61ec]
mov dword [edi + 0x138ac], eax
mov eax, dword [0x70ea61f0]
mov dword [edi + 0x138b0], eax
mov eax, dword [0x70ea61f4]
mov dword [edi + 0x138b4], eax
mov eax, dword [edi + 0x1a950]
mov dword [edi + 0x13c30], 0
mov dword [edi + 0x1cfbc], 0
mov dword [edi + 0x13838], eax
lea eax, [edi + 0x14e34]
mov dword [esp + 8], 0x3ff8
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xf0], eax
call fcn.6fef7ef0
mov dword [esp], edi
call fcn.700ab3c0
mov eax, dword [edi + 0x1a938]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x1a934]
mov dword [esp], eax
call fcn.7012fb80
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
call fcn.7009c4d0
mov eax, dword [edi + 0x1a934]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.7009c4a0
cmp dword [edi + 0x1cdfc], 1
je 0x700c9ac4
mov eax, edi
call fcn.700c77e0
lea eax, [ebp - 0x38]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov dword [ebp - 0xec], eax
call eax
mov ebx, dword [edi + 0x23cdc]
sub esp, 4
test ebx, ebx
jne 0x700c92fd
mov ecx, dword [edi + 0x1a918]
test ecx, ecx
jle 0x700c91be
lea eax, [ebp - 0x44]
xor ebx, ebx
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x48]
lea esi, [edi + 0x1b6a8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x5c]
mov ecx, ebx
add ebx, 1
mov dword [esi], 0
mov edx, dword [ebp - 0x60]
mov dword [esi + 4], 0
mov byte [esi + 8], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov eax, edi
call fcn.700c8890
mov edx, dword [edi + 0x1a91c]
mov eax, dword [edi + 0x12c04]
sub eax, edx
shl eax, 4
add dword [edi + 0x12c28], eax
mov eax, dword [edi + 0x12c18]
sub eax, edx
shl eax, 3
add dword [edi + 0x12c2c], eax
add dword [edi + 0x12c30], eax
cmp dword [edi + 0x1a918], ebx
jg 0x700c9146
mov eax, dword [ebp - 0x48]
sub eax, dword [edi + 0x1cfb8]
sar eax, 3
mov dword [edi + 0x1cfbc], eax
lea eax, [ebp - 0x30]
mov dword [esp], eax
call dword [ebp - 0xec]
mov eax, dword [edi + 0x23e70]
mov edx, dword [edi + 0x23e74]
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x4c], edx
sub esp, 4
sub ebx, dword [ebp - 0x38]
sbb esi, dword [ebp - 0x34]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov eax, 0xf4240
mul ebx
mov ebx, dword [ebp - 0x3c]
imul ecx, esi, 0xf4240
add edx, ecx
mov ecx, dword [ebp - 0x40]
sub esp, 4
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.703e0860
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
cmp byte [edi + 0x13874], 0
mov dword [edi + 0x23e70], eax
mov dword [edi + 0x23e74], edx
je 0x700c925d
cmp byte [edi + 0x13875], 0
jne 0x700c9c5b
mov eax, dword [ebp - 0x44]
sar eax, 8
mov dword [edi + 0x2112c], eax
mov eax, dword [edi + 0x1a908]
test eax, eax
jne 0x700c92b6
mov dword [edi + 0x23bf8], 0x64
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x70ea61d8]
mov dword [edi + 0x138a8], eax
mov eax, dword [0x70ea61dc]
mov dword [edi + 0x138ac], eax
mov eax, dword [0x70ea61e0]
mov dword [edi + 0x138b0], eax
mov eax, dword [0x70ea61e4]
mov dword [edi + 0x138b4], eax
jmp 0x700c905d
mov edx, dword [edi + 0x18e60]
mov eax, dword [edi + 0x18e64]
add eax, edx
add eax, dword [edi + 0x18e68]
add eax, dword [edi + 0x18e6c]
mov ecx, eax
je 0x700c92e0
imul eax, edx, 0x64
cdq
idiv ecx
mov dword [edi + 0x23bf8], eax
cmp dword [edi + 0x1ce00], 1
jbe 0x700c95c0
mov dword [esp], edi
call fcn.700ba8b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edi + 0x23ce0]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x23cf0]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
call fcn.700bf450
mov eax, dword [edi + 0x1a918]
test eax, eax
jle 0x700c9346
mov ecx, dword [edi + 0x23cd4]
xor edx, edx
mov dword [ecx + edx*4], 0xffffffff
mov eax, dword [edi + 0x1a918]
add edx, 1
cmp eax, edx
jg 0x700c9332
mov edx, dword [edi + 0x23ce0]
test edx, edx
jle 0x700c9388
xor ebx, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, dword [edi + 0x23d00]
mov eax, dword [eax + ebx*4]
add ebx, 1
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
sub esp, 0xc
cmp dword [edi + 0x23ce0], ebx
jg 0x700c9352
mov eax, dword [edi + 0x1a918]
test eax, eax
jle 0x700c94dc
lea eax, [edi + 0x1b6a8]
xor esi, esi
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x44]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x58], eax
jmp 0x700c93b9
add esi, edx
cmp esi, eax
jge 0x700c94dc
mov eax, dword [ebp - 0x7c]
mov ecx, esi
mov dword [eax], 0
mov dword [eax + 4], 0
mov byte [eax + 8], 0
mov eax, dword [edi + 0x1a91c]
mov edx, dword [edi + 0x1cfb8]
lea eax, [eax + eax*2]
shl eax, 7
imul eax, esi
lea eax, [edx + eax*8]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
mov eax, edi
call fcn.700c8890
mov eax, dword [edi + 0x23ce0]
mov ecx, dword [edi + 0x1a91c]
lea edx, [eax + 1]
mov dword [ebp - 0x78], eax
mov eax, dword [edi + 0x12c04]
neg ecx
mov ebx, ecx
shl ebx, 4
shl eax, 4
imul eax, edx
add eax, ebx
mov ebx, dword [ebp - 0x78]
add dword [edi + 0x12c28], eax
mov eax, dword [edi + 0x12c18]
shl eax, 3
imul eax, edx
lea eax, [eax + ecx*8]
add dword [edi + 0x12c2c], eax
add dword [edi + 0x12c30], eax
mov eax, dword [edi + 0x1383c]
imul eax, ebx
imul ecx, eax, 0x4c
add dword [edi + 0x13838], ecx
mov ecx, eax
shl ecx, 7
lea eax, [ecx + eax*4]
add dword [edi + 0x13b80], eax
mov eax, dword [edi + 0x1a91c]
imul eax, ebx
add dword [edi + 0x13c08], eax
mov eax, dword [edi + 0x1a918]
lea ecx, [eax - 1]
cmp ecx, esi
jne 0x700c93af
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov eax, dword [edi + 0x23d04]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov ebx, dword [edi + 0x23ce0]
mov eax, dword [edi + 0x1a918]
lea edx, [ebx + 1]
add esi, edx
sub esp, 0xc
cmp esi, eax
jl 0x700c93b9
mov dword [esp + 4], 0xffffffff
mov eax, dword [edi + 0x23d04]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [edi + 0x1a918]
sub esp, 8
test edx, edx
jle 0x700c9527
mov eax, dword [edi + 0x23d10]
mov ecx, dword [edi + 0x1cfbc]
lea ebx, [eax + edx*8]
mov edx, dword [eax + 4]
add eax, 8
sub edx, dword [eax - 8]
sar edx, 3
add ecx, edx
cmp eax, ebx
jne 0x700c950f
mov dword [edi + 0x1cfbc], ecx
cmp byte [edi + 0x13874], 0
je 0x700c95e4
mov ebx, dword [edi + 0x23ce0]
test ebx, ebx
jle 0x700c91d0
mov eax, dword [ebp - 0x24]
imul ecx, ebx, 0x7fc0
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
mov eax, dword [edi + 0x23cf0]
add ecx, eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x68], ecx
mov ecx, dword [eax + 0x7fa4]
add eax, 0x7fc0
add dword [ebp - 0x58], ecx
mov ecx, dword [eax - 0x18]
add edx, dword [eax - 0x20]
add esi, dword [eax - 0x14]
add dword [ebp - 0x5c], ecx
cmp eax, dword [ebp - 0x68]
jne 0x700c9568
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x28], edx
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x20], eax
jmp 0x700c95fd
mov eax, dword [edi + 0x1cd38]
test eax, eax
js 0x700c9c4e
mov dword [esp], edi
call fcn.7009c8f0
jmp 0x700c9023
mov eax, dword [edi + 0x1b684]
test eax, eax
jne 0x700c927d
mov esi, dword [edi + 0x1b680]
test esi, esi
je 0x700c92ed
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [edi + 0x23ce0]
test ebx, ebx
jle 0x700c91d0
mov eax, dword [edi + 0x23cf0]
mov dword [ebp - 0x50], eax
mov ecx, eax
mov eax, dword [edi + 0x13c30]
imul ebx, ebx, 0x7fc0
mov edx, dword [edi + 0x18e54]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
mov eax, dword [edi + 0x18e50]
mov dword [ebp - 0x64], edx
mov edx, dword [edi + 0x18e5c]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x18e58]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x18e60]
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 0x18e64]
mov dword [ebp - 0x80], eax
mov eax, dword [edi + 0x18e68]
mov dword [ebp - 0x84], eax
mov eax, dword [edi + 0x18e6c]
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0x18e40]
mov dword [ebp - 0x8c], eax
mov eax, dword [edi + 0x18e44]
mov dword [ebp - 0x90], eax
mov eax, dword [edi + 0x18e48]
mov dword [ebp - 0x94], eax
mov eax, dword [edi + 0x18e4c]
mov dword [ebp - 0x98], eax
mov eax, dword [edi + 0x18e2c]
mov dword [ebp - 0x9c], eax
mov eax, dword [edi + 0x18e30]
mov dword [ebp - 0xa0], eax
mov eax, dword [edi + 0x18e34]
mov dword [ebp - 0xa4], eax
mov eax, dword [edi + 0x18e38]
mov dword [ebp - 0xa8], eax
mov eax, dword [edi + 0x18e3c]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xac], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0xb0], eax
lea eax, [edi + 0x13c34]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x60]
add ebx, dword [ecx + 0x1c30]
add esi, dword [ecx + 0x7fb0]
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x9c]
add ebx, dword [ecx + 0x6e2c]
mov dword [ebp - 0x68], esi
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0xa0]
add ebx, dword [ecx + 0x6e30]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0xa4]
add ebx, dword [ecx + 0x6e34]
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa8]
add ebx, dword [ecx + 0x6e38]
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xa8], ebx
mov ebx, dword [ebp - 0xac]
add ebx, dword [ecx + 0x6e3c]
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0x8c]
add ebx, dword [ecx + 0x6e40]
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0x8c], ebx
mov ebx, dword [ebp - 0x90]
add ebx, dword [ecx + 0x6e44]
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0x90], ebx
mov ebx, dword [ebp - 0x98]
add ebx, dword [ecx + 0x6e4c]
mov esi, dword [ebp - 0x94]
add esi, dword [ecx + 0x6e48]
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0x98], ebx
mov ebx, dword [ebp - 0xf0]
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0x94], esi
xor esi, esi
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ecx + esi*4 + 0x2e34]
add dword [ebx], eax
mov eax, dword [ecx + esi*4 + 0x4e30]
add esi, 1
add dword [ebx + 0x1ffc], eax
add ebx, 4
cmp esi, 0x7ff
jne 0x700c97e2
mov eax, dword [ebp - 0x50]
add eax, dword [ecx + 0x6e50]
mov edx, dword [ebp - 0x4c]
adc edx, dword [ecx + 0x6e54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
add eax, dword [ecx + 0x6e58]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0x54]
adc edx, dword [ecx + 0x6e5c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x7c]
add eax, dword [ecx + 0x6e60]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x80]
add eax, dword [ecx + 0x6e64]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x84]
add eax, dword [ecx + 0x6e68]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x88]
add eax, dword [ecx + 0x6e6c]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0x88], eax
xor eax, eax
lea esi, [esi]
mov edx, dword [ecx + eax*4 + 0x6f78]
add dword [edi + eax*4 + 0x18f78], edx
add eax, 1
cmp eax, 0x400
jne 0x700c9890
lea eax, [ecx + 0x1c34]
xor esi, esi
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
xor ebx, ebx
mov dword [ebp - 0x50], ecx
lea edx, [eax + esi]
mov eax, dword [ebp - 0x5c]
add eax, esi
mov ecx, dword [edx]
add dword [eax], ecx
mov ecx, dword [edx + 4]
add dword [eax + 4], ecx
mov ecx, dword [edx + 8]
add dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
add dword [eax + 0xc], ecx
mov ecx, dword [edx + 0x10]
add dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
add dword [eax + 0x14], ecx
mov ecx, dword [edx + 0x18]
add dword [eax + 0x18], ecx
mov ecx, dword [edx + 0x1c]
add dword [eax + 0x1c], ecx
mov ecx, dword [edx + 0x20]
add dword [eax + 0x20], ecx
mov ecx, dword [edx + 0x24]
add dword [eax + 0x24], ecx
mov ecx, dword [edx + 0x28]
add dword [eax + 0x28], ecx
mov ecx, dword [edx + 0x30]
add dword [eax + 0x30], ecx
mov ecx, dword [edx + 0x34]
add dword [eax + 0x34], ecx
mov ecx, dword [edx + 0x38]
add dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x3c]
add dword [eax + 0x3c], ecx
mov ecx, dword [edx + 0x40]
add dword [eax + 0x40], ecx
mov ecx, dword [edx + 0x44]
add dword [eax + 0x44], ecx
mov ecx, dword [edx + 0x48]
add dword [eax + 0x48], ecx
mov ecx, dword [edx + 0x4c]
add dword [eax + 0x4c], ecx
mov ecx, dword [edx + 0x50]
add dword [eax + 0x50], ecx
mov ecx, dword [edx + 0x54]
add dword [eax + 0x54], ecx
mov ecx, dword [edx + 0x58]
add dword [eax + 0x58], ecx
mov ecx, dword [edx + 0x60]
add dword [eax + 0x60], ecx
mov ecx, dword [edx + 0x64]
add dword [eax + 0x64], ecx
mov ecx, dword [edx + 0x68]
add dword [eax + 0x68], ecx
mov ecx, dword [edx + 0x6c]
add dword [eax + 0x6c], ecx
mov ecx, dword [edx + 0x70]
add dword [eax + 0x70], ecx
mov ecx, dword [edx + 0x74]
add dword [eax + 0x74], ecx
mov ecx, dword [edx + 0x78]
add dword [eax + 0x78], ecx
mov ecx, dword [edx + 0x7c]
add dword [eax + 0x7c], ecx
mov ecx, dword [edx + 0x80]
add dword [eax + 0x80], ecx
mov ecx, dword [edx + 0x84]
add dword [eax + 0x84], ecx
mov ecx, dword [edx + 0x88]
add dword [eax + 0x88], ecx
add ebx, 1
add eax, 0x90
add edx, 0x90
cmp ebx, 8
jne 0x700c98c3
add esi, 0x480
mov ecx, dword [ebp - 0x50]
cmp esi, 0x1200
jne 0x700c98b3
add ecx, 0x7fc0
cmp ecx, dword [ebp - 0xb0]
je 0x700c99ed
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x6c]
jmp 0x700c96e1
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xb4]
mov dword [edi + 0x18e54], edx
mov edx, dword [ebp - 0x74]
mov dword [edi + 0x13c30], eax
mov eax, dword [ebp - 0xb8]
mov dword [edi + 0x18e5c], edx
mov dword [edi + 0x18e2c], eax
mov eax, dword [ebp - 0xbc]
mov dword [edi + 0x18e30], eax
mov eax, dword [ebp - 0xc0]
mov dword [edi + 0x18e34], eax
mov eax, dword [ebp - 0xc4]
mov dword [edi + 0x18e38], eax
mov eax, dword [ebp - 0xc8]
mov dword [edi + 0x18e3c], eax
mov eax, dword [ebp - 0xcc]
mov dword [edi + 0x18e40], eax
mov eax, dword [ebp - 0xd0]
mov dword [edi + 0x18e44], eax
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x18e48], eax
mov eax, dword [ebp - 0xd8]
mov dword [edi + 0x18e4c], eax
mov eax, dword [ebp - 0x70]
mov dword [edi + 0x18e50], eax
mov eax, dword [ebp - 0x78]
mov dword [edi + 0x18e58], eax
mov eax, dword [ebp - 0xdc]
mov dword [edi + 0x18e60], eax
mov eax, dword [ebp - 0xe0]
mov dword [edi + 0x18e64], eax
mov eax, dword [ebp - 0xe4]
mov dword [edi + 0x18e68], eax
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x18e6c], eax
jmp 0x700c91d0
mov eax, edi
call fcn.700c77e0
mov esi, dword [ebp - 0x60]
imul eax, dword [edi + 0x1a7d8], 0x5c
mov ebx, dword [edi + 0x1a918]
lea eax, [esi + eax + 0x6b8]
test ebx, ebx
mov dword [ebp - 0x5c], eax
mov eax, dword [eax + 0x10]
jle 0x700c9c3f
shl eax, 4
mov dword [ebp - 0x7c], eax
lea eax, [edi + 0x12640]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x58]
xor eax, eax
mov ebx, dword [ebp - 0x78]
test ecx, ecx
mov ecx, dword [edi + 0x1a91c]
setne al
xor esi, esi
mov dword [edi + 0x13844], eax
mov eax, dword [edi + 0x12c28]
test ecx, ecx
jle 0x700c9be1
mov edx, dword [ebp - 0x5c]
mov ecx, dword [edx + 0x34]
mov edx, dword [ebp - 0x68]
add ecx, ebx
mov dword [edi + 0x13810], ecx
xor ecx, ecx
test esi, esi
setne cl
add ebx, 0x10
mov dword [edi + 0x13848], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x10
mov ecx, dword [edi + 0x12c04]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [0x70ea6220]
mov edx, dword [ebp - 0x58]
xor eax, eax
or edx, esi
je 0x700c9b91
mov edx, dword [ebp - 0x58]
test esi, esi
sete al
test edx, edx
sete cl
or eax, ecx
movzx eax, al
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x50]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.70132b40
mov ecx, dword [edi + 0x13bbc]
mov edx, 0x40
cmp eax, 0x3f
cmovbe eax, edx
add ecx, 4
mov dword [ecx - 4], eax
mov eax, dword [edi + 0x12c28]
add esi, 1
mov dword [edi + 0x13bbc], ecx
mov ecx, dword [edi + 0x1a91c]
add eax, 0x10
cmp esi, ecx
mov dword [edi + 0x12c28], eax
jl 0x700c9b36
mov edx, dword [edi + 0x12c04]
sub edx, ecx
shl edx, 4
add eax, edx
mov dword [edi + 0x12c28], eax
mov eax, dword [edi + 0x13818]
add eax, 8
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x13814]
add eax, 8
mov dword [esp + 8], eax
mov eax, dword [edi + 0x13810]
add eax, 0x10
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.70075640
mov eax, dword [ebp - 0x7c]
add dword [ebp - 0x58], 1
add dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x58]
cmp eax, dword [edi + 0x1a918]
jl 0x700c9b0d
mov dword [edi + 0x258b4], 0x186a0
jmp 0x700c90f3
neg eax
mov dword [edi + 0x23ba4], eax
jmp 0x700c9023
mov esi, dword [ebp - 0x28]
mov eax, 0xffffffff
mov ecx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov word [edi + 0x13878], ax
add ecx, esi
lea eax, [ecx + ebx]
add eax, edx
mov byte [edi + 0x1387a], 0xff
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x58], eax
je 0x700c925d
mov eax, ecx
shl eax, 8
sub eax, ecx
cdq
idiv dword [ebp - 0x58]
test ecx, ecx
mov byte [edi + 0x13878], al
jle 0x700c9cb2
mov eax, esi
shl eax, 8
sub eax, esi
cdq
idiv ecx
mov byte [edi + 0x13879], al
mov ecx, dword [ebp - 0x50]
add ecx, ebx
test ecx, ecx
jle 0x700c9ccb
mov eax, ebx
shl eax, 8
sub eax, ebx
cdq
idiv ecx
mov byte [edi + 0x1387a], al
cmp byte [edi + 0x13878], 0
jne 0x700c9cdb
mov byte [edi + 0x13878], 1
cmp byte [edi + 0x13879], 0
jne 0x700c9ceb
mov byte [edi + 0x13879], 1
cmp byte [edi + 0x1387a], 0
jne 0x700c925d
mov byte [edi + 0x1387a], 1
jmp 0x700c925d