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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
push edi
movsx ebx, word [esi + 0x4c]
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov edi, dword [esi + ebx*4 + 0x78]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
movzx eax, word [esi + ebx*2 + 0x4e]
cmp ax, word [edi + 0x12]
jae 0x1001cc76
cmp byte [esi + 0x49], 1
jne 0x1001cc76
mov edx, eax
mov eax, dword [edi + 0x40]
mov dword [esp + 0x18], edx
movzx ecx, byte [eax + edx*2 + 1]
movzx eax, byte [eax + edx*2]
shl eax, 8
or ecx, eax
movzx eax, word [edi + 0x14]
and ecx, eax
add ecx, dword [edi + 0x38]
cmp byte [edi + 5], 0
mov dword [esp + 0x20], ecx
jne 0x1001ca69
and byte [esi + 0x48], 0xf1
xor eax, eax
mov dword [esp + 0x1c], 0
mov word [esi + 0x2c], ax
movzx ecx, word [esi + ebx*2 + 0x4e]
test cx, cx
je 0x1001ca56
mov eax, dword [esi + ebx*4 + 0x78]
cmp byte [eax + 5], 0
je 0x1001ca56
lea eax, [ecx - 1]
mov word [esi + ebx*2 + 0x4e], ax
jmp 0x1001ca69
lea edx, [esp + 0x1c]
mov ecx, esi
call fcn.10019a80
test eax, eax
jne 0x1001cc7b
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1001caa2
cmp ecx, esi
je 0x1001ca84
test edx, edx
je 0x1001ca8d
cmp dword [ecx + 0x3c], edx
je 0x1001ca8d
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1001ca77
jmp 0x1001caa2
test ecx, ecx
je 0x1001caa2
push esi
call fcn.100150c0
add esp, 4
test eax, eax
jne 0x1001cc7b
cmp dword [esi + 0x10], 0
jne 0x1001cadb
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x1001cadb
nop dword [eax]
test byte [eax + 0x48], 0x10
je 0x1001cad4
cmp dword [eax + 0x18], ecx
jne 0x1001cad4
cmp dword [eax + 0x1c], edx
jne 0x1001cad4
mov byte [eax + 0x49], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x1001cac0
mov ecx, dword [edi + 0x44]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x94]
cmp eax, dword [edx + 0x98]
jbe 0x1001caf6
call fcn.10011c00
jmp 0x1001cafb
call fcn.10011920
test eax, eax
jne 0x1001cc7b
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xc]
push eax
mov ecx, edi
call fcn.1001ab20
mov edx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, edi
lea eax, [esp + 0x10]
push eax
movzx eax, word [esp + 0x10]
push eax
call fcn.1001b080
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001cc7b
cmp byte [edi + 5], al
jne 0x1001cc14
movsx eax, word [esi + 0x4c]
mov edx, dword [esi + eax*4 + 0x78]
mov eax, dword [esi + ebx*4 + 0x7c]
mov dword [esp + 0xc], edx
movzx ecx, word [edx + 0x12]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x40]
movzx edx, byte [eax + ecx*2 - 2]
movzx eax, byte [eax + ecx*2 - 1]
mov ecx, dword [esp + 0xc]
shl edx, 8
or edx, eax
movzx eax, word [ecx + 0x14]
and edx, eax
add edx, dword [ecx + 0x38]
mov dword [esp + 0x24], edx
call fcn.100156f0
movzx eax, ax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0x94]
cmp eax, dword [edx + 0x98]
jbe 0x1001cbbc
call fcn.10011c00
jmp 0x1001cbc1
call fcn.10011920
mov edx, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x24]
push dword [esp + 0x1c]
add eax, 4
push eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffffc
push eax
call fcn.1001b160
add esp, 0x14
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x10]
mov ecx, eax
push dword [esp + 0x20]
movzx edx, word [eax + 0x12]
dec edx
call fcn.1001b080
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001cc7b
mov ecx, esi
call fcn.1001c4c0
mov edi, eax
test edi, edi
jne 0x1001cc6d
movzx eax, word [esi + 0x4c]
movsx ecx, ax
cmp ecx, ebx
jle 0x1001cc66
mov edx, eax
nop
movsx eax, dx
mov ecx, dword [esi + eax*4 + 0x78]
lea eax, [edx - 1]
mov word [esi + 0x4c], ax
movzx eax, ax
test ecx, ecx
je 0x1001cc51
mov ecx, dword [ecx + 0x44]
call fcn.10011580
movzx eax, word [esi + 0x4c]
movzx edx, ax
cwde
cmp eax, ebx
jg 0x1001cc30
mov ecx, esi
call fcn.1001c4c0
mov edi, eax
test edi, edi
jne 0x1001cc6d
mov ecx, esi
call fcn.100190c0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret