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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x100ff008]
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 0x1001e0a1
cmp byte [esi + 0x49], 1
jne 0x1001e0a1
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 0x1001de84
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 0x1001de71
mov eax, dword [esi + ebx*4 + 0x78]
cmp byte [eax + 5], 0
je 0x1001de71
lea eax, [ecx - 1]
mov word [esi + ebx*2 + 0x4e], ax
jmp 0x1001de84
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.1001ade0
test eax, eax
jne 0x1001e0a6
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1001debd
cmp ecx, esi
je 0x1001de9f
test edx, edx
je 0x1001dea8
cmp dword [ecx + 0x3c], edx
je 0x1001dea8
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1001de92
jmp 0x1001debd
test ecx, ecx
je 0x1001debd
push esi
call fcn.10016320
add esp, 4
test eax, eax
jne 0x1001e0a6
cmp dword [esi + 0x10], 0
jne 0x1001def2
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 0x1001def2
test byte [eax + 0x48], 0x10
je 0x1001deeb
cmp dword [eax + 0x18], ecx
jne 0x1001deeb
cmp dword [eax + 0x1c], edx
jne 0x1001deeb
mov byte [eax + 0x49], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x1001ded7
mov edx, dword [edi + 0x44]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
mov ecx, edx
jbe 0x1001df0f
call fcn.10012c80
jmp 0x1001df14
call fcn.10012970
test eax, eax
jne 0x1001e0a6
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call fcn.1001be60
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.1001c410
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001e0a6
cmp byte [edi + 5], al
jne 0x1001e02f
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.100169c0
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 0x1001dfd7
call fcn.10012c80
jmp 0x1001dfdc
call fcn.10012970
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.1001c4f0
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.1001c410
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001e0a6
mov ecx, esi
call fcn.1001d8c0
mov edi, eax
test edi, edi
jne 0x1001e08d
movzx eax, word [esi + 0x4c]
movsx ecx, ax
cmp ecx, ebx
jle 0x1001e086
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 0x1001e071
mov ecx, dword [edx + 0x44]
call fcn.10012590
movzx eax, word [esi + 0x4c]
movzx ecx, ax
cwde
cmp eax, ebx
jg 0x1001e050
mov ecx, esi
call fcn.1001d8c0
mov edi, eax
test edi, edi
jne 0x1001e08d
mov ecx, esi
call fcn.1001a420
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100bd09a
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.100bd09a
mov esp, ebp
pop ebp
ret