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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
mov ebp, dword [esp + 0x6c]
push esi
push edi
mov edi, dword [esp + 0x78]
mov esi, ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x84]
mov ebx, dword [edi]
mov eax, dword [ecx]
mov dword [ecx], 0
mov dword [edi], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [edx], 0
jmp 0x100c8d20
mov edi, dword [esp + 0x78]
jmp 0x100c8d20
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x14]
cmp dword [esi], 6
jne 0x100c8f5b
sub eax, dword [ecx]
mov ecx, dword [esi + 0x140]
sub ebx, dword [edi]
mov edx, dword [esi + 0x144]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov eax, ecx
and eax, edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x74], 0
cmp eax, 0xffffffff
je 0x100c8da1
sub ecx, dword [esi + 0x18]
sbb edx, dword [esi + 0x1c]
xor eax, eax
cmp eax, edx
jb 0x100c8d83
ja 0x100c8d77
cmp ebx, ecx
jb 0x100c8d83
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], ecx
or ecx, edx
jne 0x100c8da1
mov eax, dword [esi + 0x148]
cmp eax, dword [esi + 0x20]
jne 0x100c8da1
mov eax, dword [esi + 0x14c]
cmp eax, dword [esi + 0x24]
je 0x100c952e
mov ecx, dword [esi + 0x148]
mov eax, ecx
mov edx, dword [esi + 0x14c]
and eax, edx
cmp eax, 0xffffffff
je 0x100c8dd7
sub ecx, dword [esi + 0x20]
sbb edx, dword [esi + 0x24]
xor eax, eax
cmp eax, edx
jb 0x100c8ddb
ja 0x100c8dca
cmp dword [esp + 0x28], ecx
jb 0x100c8ddb
mov eax, 1
mov dword [esp + 0x18], ecx
mov edi, eax
jmp 0x100c8ddb
mov eax, dword [esp + 0x74]
push edi
push dword [esp + 0x28]
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push ecx
push ebp
push eax
lea eax, [esp + 0x2c]
mov edx, edi
push eax
xor eax, eax
lea ecx, [esi + 0x68]
cmp dword [esi + 0x2c8], eax
cmovne edx, eax
call fcn.100c6e20
mov ecx, dword [esi + 0x88]
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [eax], ecx
mov ecx, dword [esi + 0x2c8]
test ecx, ecx
je 0x100c8e2a
mov edx, dword [esi + 0x2d0]
add edx, ecx
jmp 0x100c8e2c
mov edx, edi
mov edi, dword [esp + 0x18]
lea ecx, [esi + 0x1d8]
push edi
call fcn.100c67f0
cmp dword [esi + 0x2c8], 0
jne 0x100c8e49
add dword [esp + 0x1c], edi
add dword [esi + 0x2d0], edi
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
add ebp, eax
mov dword [esp + 0x74], ebp
add dword [ecx], eax
add dword [esi + 0x18], eax
mov eax, dword [esp + 0x70]
adc dword [esi + 0x1c], 0
add dword [eax], edi
add dword [esi + 0x20], edi
adc dword [esi + 0x24], 0
test ebx, ebx
jne 0x100c953d
mov ecx, dword [esp + 0x84]
cmp dword [ecx], 1
jne 0x100c950d
mov cx, word [esi + 0x10]
mov ebp, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
call fcn.100c6850
mov edx, dword [esi + 0x14]
xor ecx, ecx
add edx, dword [esi + 0x18]
adc ecx, dword [esi + 0x1c]
add edx, eax
adc ecx, 0
push ecx
push edx
lea ecx, [esp + 0x34]
call fcn.100c68b0
mov edi, eax
lea ecx, [esp + 0x2c]
push ebx
push ebp
add ecx, edi
call fcn.100c68b0
add edi, eax
lea ecx, [esi + 0x250]
push edi
lea edx, [esp + 0x30]
call fcn.100c56a0
add dword [esi + 0x30], edi
mov ebp, dword [esp + 0x84]
adc dword [esi + 0x34], 0
add dword [esi + 0x28], 1
mov dword [esi], 7
adc dword [esi + 0x2c], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [ebp], 0
mov ecx, dword [esi + 0x140]
mov eax, ecx
mov edx, dword [esi + 0x144]
and eax, edx
cmp eax, 0xffffffff
je 0x100c8f2e
cmp ecx, dword [esi + 0x18]
jne 0x100c952e
cmp edx, dword [esi + 0x1c]
jne 0x100c952e
mov ecx, dword [esi + 0x148]
mov eax, ecx
mov edx, dword [esi + 0x14c]
and eax, edx
cmp eax, 0xffffffff
je 0x100c8f55
cmp ecx, dword [esi + 0x20]
jne 0x100c952e
cmp edx, dword [esi + 0x24]
jne 0x100c952e
mov edi, dword [esp + 0x78]
jmp 0x100c8f62
mov ebp, dword [esp + 0x84]
mov ebx, dword [esp + 0x10]
mov ecx, dword [edi]
sub ebx, ecx
jne 0x100c8f75
cmp dword [esi], 7
jne 0x100c9549
mov eax, dword [esi]
mov ebp, dword [esp + 0x74]
cmp eax, 7
ja case.default.0x100c8f84
jmp dword [eax*4 + 0x100c95c4]
mov ecx, dword [esi + 4]
cmp ecx, 0xc
jae 0x100c8fd1
mov ebp, dword [esp + 0x74]
cmp ecx, 6
jae 0x100c8fab
mov al, byte [ebp]
cmp al, byte [ecx + 0x100f0150]
jne 0x100c95b3
cmp dword [esi + 0x2c0], 0
jne 0x100c9566
mov al, byte [ebp]
inc ebp
mov byte [ecx + esi + 0x2f4], al
inc dword [esi + 4]
inc dword [edi]
mov dword [esp + 0x74], ebp
jmp case.default.0x100c8f84
lea edx, [esi + 0x2f4]
lea ecx, [esi + 0x10]
call fcn.100c9890
test eax, eax
jne 0x100c95b8
add dword [esi + 0x48], 1
lea ecx, [esi + 0x250]
mov dword [esi + 0x30], eax
adc dword [esi + 0x4c], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
call fcn.100c5650
mov dword [esi], 5
mov dword [esi + 4], 0
jmp case.0x100c8f84.6
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x100c90c7
mov ebp, dword [esp + 0x74]
movzx eax, byte [ebp]
inc ebp
mov byte [esi + 0x2f4], al
inc dword [esi + 4]
inc dword [edi]
mov al, byte [esi + 0x2f4]
mov dword [esp + 0x74], ebp
test al, al
jne 0x100c90b5
cmp dword [esi + 0x2c4], ecx
jne 0x100c952e
push dword [esi + 0x2c]
lea ecx, [esi + 0x2f5]
push dword [esi + 0x28]
call fcn.100c68b0
inc eax
mov dword [esi + 0x3c], 0
add dword [esi + 0x30], eax
lea edx, [esi + 0x2d4]
lea ecx, [esi + 0x250]
mov dword [esi + 0xc], eax
adc dword [esi + 0x34], 0
mov dword [esi + 0x38], eax
call fcn.100c5590
lea ecx, [esi + 0x250]
call fcn.100c5650
push dword [esi + 0xc]
lea edx, [esi + 0x2f4]
or ecx, 0xffffffff
call fcn.100cca30
mov edi, dword [esp + 0x78]
mov dword [esi + 0x60], eax
mov dword [esi], 1
jmp case.default.0x100c8f84
movzx eax, al
lea eax, [eax*4 + 4]
mov dword [esi + 0x14], eax
jmp case.default.0x100c8f84
mov eax, dword [esi + 0x14]
cmp ecx, eax
je 0x100c90fc
mov ebp, dword [esp + 0x74]
sub eax, ecx
cmp eax, ebx
cmovbe ebx, eax
lea eax, [esi + 0x2f4]
push ebx
add eax, ecx
push ebp
push eax
call fcn.100cf690
add dword [esi + 4], ebx
add esp, 0xc
add dword [edi], ebx
add ebp, ebx
mov dword [esp + 0x74], ebp
jmp case.default.0x100c8f84
lea edx, [esi + 0x2f4]
lea ecx, [esi + 0x140]
call fcn.100c72b0
test eax, eax
jne 0x100c95b8
lea ecx, [esi + 0x140]
call fcn.100c7230
test eax, eax
je 0x100c9572
add dword [esi + 0x58], 1
lea ecx, [esi + 0x1d8]
movzx edx, word [esi + 0x10]
adc dword [esi + 0x5c], 0
and edx, 0xf
mov dword [esi], 6
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
call fcn.100c67c0
cmp dword [esi + 0x2b8], 0
jne 0x100c955c
push dword [esi + 0x2cc]
lea ecx, [esi + 0x68]
push dword [esi + 0x2c8]
lea edx, [esi + 0x140]
call fcn.100c7460
test eax, eax
jne 0x100c95b8
jmp case.0x100c8f84.6
mov eax, dword [esi + 0x18]
add eax, dword [esi + 8]
test al, 3
je 0x100c91d5
test ebx, ebx
je 0x100c9581
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
inc dword [esi + 8]
mov al, byte [ebp]
inc ebp
mov dword [esp + 0x74], ebp
test al, al
je case.default.0x100c8f84
pop edi
pop esi
pop ebp
mov eax, 3
pop ebx
add esp, 0x5c
ret 0x18
mov cx, word [esi + 0x10]
call fcn.100c6850
mov ecx, dword [esi + 4]
mov edi, eax
sub eax, ecx
je 0x100c9234
test ebx, ebx
je 0x100c9581
mov ebp, dword [esp + 0x74]
cmp eax, ebx
cmovbe ebx, eax
lea eax, [esi + 0x2f4]
push ebx
add eax, ecx
push ebp
push eax
call fcn.100cf690
mov ecx, dword [esp + 0x84]
add ebp, ebx
add dword [esi + 4], ebx
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], ebp
add dword [ecx], ebx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
cmp edi, dword [esi + 4]
jne 0x100c8d00
jmp 0x100c9238
mov ebp, dword [esp + 0x74]
lea ecx, [esi + 0x1d8]
mov dword [esi], 5
lea edx, [esp + 0x2c]
mov dword [esi + 4], 0
call fcn.100c6730
test eax, eax
je 0x100c92ba
lea edx, [esi + 0x2f4]
lea ecx, [esp + 0x2c]
sub edi, 4
jb 0x100c9278
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100c927d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100c9267
cmp edi, 0xfffffffc
je 0x100c92ba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100c91c6
cmp edi, 0xfffffffd
je 0x100c92ba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100c91c6
cmp edi, 0xfffffffe
je 0x100c92ba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100c91c6
cmp edi, 0xffffffff
je 0x100c92ba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100c91c6
cmp dword [esi + 0x2c4], 0
jne 0x100c959a
mov edi, dword [esp + 0x78]
jmp case.default.0x100c8f84
mov eax, dword [esi + 4]
cmp eax, dword [esi + 0xc]
jae 0x100c9304
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dl, byte [ebp]
inc ebp
mov dword [esp + 0x74], ebp
mov cl, byte [eax + esi + 0x2f4]
inc eax
mov dword [esi + 4], eax
cmp dl, cl
jne 0x100c91c6
jmp case.default.0x100c8f84
mov ebp, dword [esi + 0x3c]
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
cmp ebp, edx
ja 0x100c9360
jb 0x100c931a
cmp ecx, eax
jae 0x100c9360
sub eax, ecx
sbb edx, ebp
xor ecx, ecx
cmp ecx, edx
jb 0x100c932c
ja 0x100c932a
cmp ebx, eax
jbe 0x100c932c
mov ebx, eax
mov ebp, dword [esp + 0x74]
mov edx, ebp
mov ecx, dword [esi + 0x60]
push ebx
call fcn.100cca30
push ebx
lea ecx, [esi + 0x250]
mov dword [esi + 0x60], eax
mov edx, ebp
call fcn.100c56a0
add dword [edi], ebx
add ebp, ebx
add dword [esi + 0x38], ebx
mov dword [esp + 0x74], ebp
adc dword [esi + 0x3c], 0
jmp case.default.0x100c8f84
and ecx, 3
or ecx, 0
je 0x100c93ab
mov ebp, dword [esp + 0x74]
mov ecx, dword [esi + 0x60]
mov dl, byte [ebp]
inc ebp
movzx eax, dl
xor eax, ecx
mov dword [esp + 0x74], ebp
movzx eax, al
shr ecx, 8
xor ecx, dword [eax*4 + 0x101118e0]
mov dword [esi + 0x60], ecx
inc dword [edi]
add dword [esi + 0x38], 1
adc dword [esi + 0x3c], 0
add dword [esi + 0x30], 1
adc dword [esi + 0x34], 0
test dl, dl
jne 0x100c91c6
jmp case.default.0x100c8f84
add eax, 4
mov dword [esi], 2
lea ecx, [esi + 0x250]
mov dword [esi + 0x30], eax
adc edx, 0
mov dword [esi + 4], 0
mov dword [esi + 0x34], edx
lea edx, [esp + 0x2c]
call fcn.100c5590
lea edx, [esi + 0x2d4]
mov edi, 0x1c
lea ecx, [esp + 0x2c]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100c91c6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100c93e2
mov edi, dword [esp + 0x78]
jmp case.0x100c8f84.6
cmp dword [esi + 4], 4
jae 0x100c9429
mov ebp, dword [esp + 0x74]
lea eax, [ecx + 1]
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov al, byte [ebp]
mov byte [ecx + esi + 0x2f4], al
inc dword [esi + 4]
inc ebp
mov dword [esp + 0x74], ebp
jmp case.default.0x100c8f84
mov eax, dword [esi + 0x60]
not eax
mov dword [esi], 3
mov dword [esi + 4], 0
cmp eax, dword [esi + 0x2f4]
jne 0x100c91c6
jmp case.0x100c8f84.6
mov ebp, dword [esp + 0x74]
mov eax, 0xc
sub eax, dword [esi + 4]
cmp eax, ebx
cmovbe ebx, eax
lea eax, [esi + 0x2f4]
add eax, dword [esi + 4]
push ebx
push ebp
push eax
call fcn.100cf690
add dword [esi + 4], ebx
add ebp, ebx
add dword [edi], ebx
add esp, 0xc
cmp dword [esi + 4], 0xc
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], ebp
jne 0x100c8d20
push dword [esi + 0x34]
add dword [esi + 0x50], 1
lea edx, [esi + 0x2f4]
push dword [esi + 0x30]
mov cx, word [esi + 0x10]
adc dword [esi + 0x54], 0
mov dword [esi], 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
call fcn.100c9820
test eax, eax
je 0x100c91c6
jmp 0x100c8d18
mov ebp, dword [esp + 0x74]
cmp byte [ebp], 0
je 0x100c94f6
test byte [esi + 0x40], 3
jne 0x100c95b3
mov dword [esi + 4], 0
mov dword [esi], 0
jmp case.default.0x100c8f84
lea eax, [ecx + 1]
inc ebp
mov dword [edi], eax
add dword [esi + 0x40], 1
mov dword [esp + 0x74], ebp
adc dword [esi + 0x44], 0
jmp case.default.0x100c8f84
mov eax, dword [esi + 0x140]
cmp eax, dword [esi + 0x18]
jne 0x100c9566
mov eax, dword [esi + 0x144]
cmp eax, dword [esi + 0x1c]
jne 0x100c9566
cmp dword [ecx], 3
jne 0x100c9566
mov dword [ecx], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5c
ret 0x18
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x5c
ret 0x18
pop edi
pop esi
mov dword [ebp], 3
xor eax, eax
pop ebp
pop ebx
add esp, 0x5c
ret 0x18
mov dword [esi + 0x2bc], 1
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x5c
ret 0x18
mov eax, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword [eax], 3
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
mov eax, dword [esp + 0x84]
pop edi
pop esi
pop ebp
mov dword [eax], 1
xor eax, eax
pop ebx
add esp, 0x5c
ret 0x18
mov eax, 0x11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0x18