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

Disassembly:
sub esp, 0x5c
push ebx
mov ebx, dword [esp + 0x64]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
push ebp
mov ebp, dword [esp + 0x6c]
mov eax, edx
shr eax, 0x1f
add eax, edx
push esi
push edi
jne 0x1000c110
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebx + 0xc]
cmp byte [eax + 0x10], 0
je 0x1000c586
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp]
mov ebp, dword [edi]
mov dword [esp + 0x10], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], ebp
lea esp, [esp]
test esi, esi
je 0x1000c148
cmp esi, esi
je 0x1000c14e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, dword [esp + 0x34]
je 0x1000c565
test esi, esi
jne 0x1000c1e9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x14]
jne 0x1000c173
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebp, dword [ebp]
mov dword [esp + 0x3c], ebp
test esi, esi
je 0x1000c182
cmp esi, esi
je 0x1000c188
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp edi, ebp
jne 0x1000c33a
test esi, esi
jne 0x1000c1f0
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esi + 0x14]
jne 0x1000c1a9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [ebx + 0xc]
cmp edi, dword [ebx + 0x10]
jbe 0x1000c1b7
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [ebx]
mov edx, dword [esp + 0x34]
mov ebx, dword [edx + 8]
mov ebp, esi
mov dword [esp + 0x24], edi
test esi, esi
jne 0x1000c1f4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
lea edi, [edi + ecx*4]
cmp edi, dword [eax + 0x10]
ja 0x1000c1ff
test esi, esi
je 0x1000c1f8
mov esi, dword [esi]
jmp 0x1000c1fa
mov eax, dword [esi]
jmp 0x1000c168
mov esi, dword [esi]
jmp 0x1000c19a
mov eax, dword [esi]
jmp 0x1000c1d2
xor esi, esi
cmp edi, dword [esi + 0xc]
jae 0x1000c205
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x10]
neg esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edi
test ebp, ebp
jne 0x1000c23b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, esi
shl edx, 4
sub edx, esi
lea edi, [edi + edx*4]
mov dword [esp + 0x18], edi
cmp edi, dword [eax + 0x10]
ja 0x1000c247
test ebp, ebp
je 0x1000c240
mov ebp, dword [ebp]
jmp 0x1000c242
mov eax, dword [ebp]
jmp 0x1000c21f
xor ebp, ebp
cmp edi, dword [ebp + 0xc]
jae 0x1000c24d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
cmp dword [ecx + 0xc], eax
jbe 0x1000c263
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x1000c2cb
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, dword [esp + 0x34]
cmp ecx, dword [eax + 0x14]
jne 0x1000c282
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x70]
mov ebp, dword [eax + 0xc]
cmp ebp, dword [eax + 0x10]
jbe 0x1000c294
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
mov eax, dword [esp + 0x34]
mov ebx, dword [eax + 8]
mov edi, esi
mov dword [esp + 0x54], ebp
test esi, esi
jne 0x1000c2cf
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, ebx
shl ecx, 4
sub ecx, ebx
lea ebx, [ebp + ecx*4]
cmp ebx, dword [eax + 0x10]
ja 0x1000c2da
test esi, esi
je 0x1000c2d3
mov esi, dword [esi]
jmp 0x1000c2d5
mov eax, dword [eax]
jmp 0x1000c273
mov eax, dword [esi]
jmp 0x1000c2b3
xor esi, esi
cmp ebx, dword [esi + 0xc]
jae 0x1000c2e0
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test edi, edi
jne 0x1000c2fc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
add ebx, 0x3c
cmp ebx, dword [eax + 0x10]
ja 0x1000c307
test edi, edi
je 0x1000c300
mov eax, dword [edi]
jmp 0x1000c302
mov eax, dword [edi]
jmp 0x1000c2ec
xor eax, eax
cmp ebx, dword [eax + 0xc]
jae 0x1000c30d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x78]
mov byte [esp + 0x24], 0
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
push ebx
lea ebx, [esp + 0x74]
jmp 0x1000c53b
test esi, esi
jne 0x1000c398
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x34]
cmp edx, dword [esi + 0x14]
jne 0x1000c353
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebp, dword [ebx + 0xc]
cmp ebp, dword [ebx + 0x10]
jbe 0x1000c361
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
mov ecx, dword [esp + 0x34]
mov edi, dword [ecx + 8]
mov ebx, esi
mov dword [esp + 0x54], ebp
test esi, esi
jne 0x1000c39c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, edi
shl edx, 4
sub edx, edi
lea edi, [ebp + edx*4]
cmp edi, dword [eax + 0x10]
ja 0x1000c3a7
test esi, esi
je 0x1000c3a0
mov esi, dword [esi]
jmp 0x1000c3a2
mov esi, dword [esi]
jmp 0x1000c344
mov eax, dword [esi]
jmp 0x1000c380
xor esi, esi
cmp edi, dword [esi + 0xc]
jae 0x1000c3ad
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov esi, dword [esp + 0x10]
neg esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
test ebx, ebx
jne 0x1000c3e2
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, esi
shl ecx, 4
sub ecx, esi
lea edi, [edi + ecx*4]
mov dword [esp + 0x20], edi
cmp edi, dword [eax + 0x10]
ja 0x1000c3ed
test ebx, ebx
je 0x1000c3e6
mov ebx, dword [ebx]
jmp 0x1000c3e8
mov eax, dword [ebx]
jmp 0x1000c3c7
xor ebx, ebx
cmp edi, dword [ebx + 0xc]
jae 0x1000c3f3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebp, dword [esp + 0x14]
test ebp, ebp
jne 0x1000c454
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edi, dword [esp + 0x3c]
cmp edi, dword [eax + 0x14]
jne 0x1000c412
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x70]
mov ebx, dword [eax + 0xc]
cmp ebx, dword [eax + 0x10]
jbe 0x1000c424
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x70]
mov esi, dword [edx]
mov edi, dword [edi + 8]
test esi, esi
jne 0x1000c459
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, edi
shl ecx, 4
sub ecx, edi
lea ecx, [ebx + ecx*4]
mov dword [esp + 0x18], ecx
cmp ecx, dword [eax + 0x10]
ja 0x1000c464
test esi, esi
je 0x1000c45d
mov esi, dword [esi]
jmp 0x1000c45f
mov eax, dword [ebp]
jmp 0x1000c403
mov eax, dword [esi]
jmp 0x1000c439
xor esi, esi
cmp ecx, dword [esi + 0xc]
jae 0x1000c46a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, ebp
test eax, eax
jne 0x1000c4cf
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, dword [esp + 0x34]
cmp edx, dword [eax + 0x14]
jne 0x1000c487
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x70]
mov ebx, dword [eax + 0xc]
cmp ebx, dword [eax + 0x10]
jbe 0x1000c499
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x70]
mov esi, dword [eax]
mov ecx, dword [esp + 0x34]
mov edi, dword [ecx + 8]
mov ebp, esi
mov dword [esp + 0x54], ebx
test esi, esi
jne 0x1000c4d3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, edi
shl edx, 4
sub edx, edi
lea ebx, [ebx + edx*4]
cmp ebx, dword [eax + 0x10]
ja 0x1000c4de
test esi, esi
je 0x1000c4d7
mov esi, dword [esi]
jmp 0x1000c4d9
mov eax, dword [eax]
jmp 0x1000c478
mov eax, dword [esi]
jmp 0x1000c4b8
xor esi, esi
cmp ebx, dword [esi + 0xc]
jae 0x1000c4e4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebp, ebp
jne 0x1000c501
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
lea edi, [ebx + 0x3c]
cmp edi, dword [eax + 0x10]
ja 0x1000c50d
test ebp, ebp
je 0x1000c506
mov eax, dword [ebp]
jmp 0x1000c508
mov eax, dword [ebp]
jmp 0x1000c4f0
xor eax, eax
cmp edi, dword [eax + 0xc]
jae 0x1000c513
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x74]
push ecx
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x30], 0
mov edx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
push edi
lea ebx, [esp + 0x7c]
call fcn.1000cda0
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x30]
add esp, 0x1c
inc dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov ebp, eax
jmp 0x1000c140
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebx + 0xc]
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov esi, ecx
sub esi, dword [esp + 0x10]
jmp 0x1000c5a3
mov ecx, dword [ebx + 0x10]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
sub esi, dword [ebp + 0x18]
mov ecx, dword [0x103c33f8]
mov edx, dword [0x103c33f4]
sub esp, 0x3c
mov eax, esp
push ecx
push edx
push ecx
push edx
call fcn.10009a80
mov eax, esi
mov ecx, ebx
call fcn.1000c010
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret