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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x100fc008]
xor eax, esp
mov dword [esp + 0x20], eax
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 + 0x18], eax
movzx eax, word [esi + ebx*2 + 0x4e]
cmp ax, word [edi + 0x12]
jae 0x1001de91
cmp byte [esi + 0x49], 1
jne 0x1001de91
mov edx, eax
mov eax, dword [edi + 0x40]
mov dword [esp + 0x20], 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 + 0x1c], ecx
jne 0x1001dc74
and byte [esi + 0x48], 0xf1
xor eax, eax
mov dword [esp + 0x28], 0
mov word [esi + 0x2c], ax
movzx ecx, word [esi + ebx*2 + 0x4e]
test cx, cx
je 0x1001dc61
mov eax, dword [esi + ebx*4 + 0x78]
cmp byte [eax + 5], 0
je 0x1001dc61
lea eax, [ecx - 1]
mov word [esi + ebx*2 + 0x4e], ax
jmp 0x1001dc74
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.1001abb0
test eax, eax
jne 0x1001de96
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1001dcad
cmp ecx, esi
je 0x1001dc8f
test edx, edx
je 0x1001dc98
cmp dword [ecx + 0x3c], edx
je 0x1001dc98
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1001dc82
jmp 0x1001dcad
test ecx, ecx
je 0x1001dcad
push esi
call fcn.100160d0
add esp, 4
test eax, eax
jne 0x1001de96
cmp dword [esi + 0x10], 0
jne 0x1001dce2
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 0x1001dce2
test byte [eax + 0x48], 0x10
je 0x1001dcdb
cmp dword [eax + 0x18], ecx
jne 0x1001dcdb
cmp dword [eax + 0x1c], edx
jne 0x1001dcdb
mov byte [eax + 0x49], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x1001dcc7
mov edx, dword [edi + 0x44]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
mov ecx, edx
jbe 0x1001dcff
call fcn.10012a50
jmp 0x1001dd04
call fcn.10012740
test eax, eax
jne 0x1001de96
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call fcn.1001bc50
mov edx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, edi
lea eax, [esp + 0x10]
push eax
movzx eax, word [esp + 0x18]
push eax
call fcn.1001c200
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001de96
cmp byte [edi + 5], al
jne 0x1001de1f
movsx eax, word [esi + 0x4c]
mov edx, dword [esi + eax*4 + 0x78]
mov eax, dword [esi + ebx*4 + 0x7c]
mov dword [esp + 0x14], edx
movzx ecx, word [edx + 0x12]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x40]
movzx edx, byte [eax + ecx*2 - 2]
movzx eax, byte [eax + ecx*2 - 1]
mov ecx, dword [esp + 0x14]
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.10016750
movzx eax, ax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x44]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
mov ecx, edx
jbe 0x1001ddc7
call fcn.10012a50
jmp 0x1001ddcc
call fcn.10012740
mov edx, dword [esp + 0x20]
mov ecx, edi
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x20]
mov eax, dword [esp + 0x30]
push dword [esp + 0x20]
add eax, 4
push eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffffc
push eax
call fcn.1001c2e0
add esp, 0x14
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x18]
mov ecx, eax
push dword [esp + 0x2c]
movzx edx, word [eax + 0x12]
dec edx
call fcn.1001c200
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001de96
mov ecx, esi
call fcn.1001d6b0
mov edi, eax
test edi, edi
jne 0x1001de7d
movzx eax, word [esi + 0x4c]
movsx ecx, ax
cmp ecx, ebx
jle 0x1001de76
mov ecx, eax
nop dword [eax]
movsx eax, cx
mov edx, dword [esi + eax*4 + 0x78]
lea eax, [ecx - 1]
mov word [esi + 0x4c], ax
movzx eax, ax
test edx, edx
je 0x1001de61
mov ecx, dword [edx + 0x44]
call fcn.10012370
movzx eax, word [esi + 0x4c]
movzx ecx, ax
cwde
cmp eax, ebx
jg 0x1001de40
mov ecx, esi
call fcn.1001d6b0
mov edi, eax
test edi, edi
jne 0x1001de7d
mov ecx, esi
call fcn.1001a1f0
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100baa39
mov esp, ebp
pop ebp
ret
mov eax, 1
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100baa39
mov esp, ebp
pop ebp
ret