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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x10100008]
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 0x1001e011
cmp byte [esi + 0x49], 1
jne 0x1001e011
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 0x1001ddf4
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 0x1001dde1
mov eax, dword [esi + ebx*4 + 0x78]
cmp byte [eax + 5], 0
je 0x1001dde1
lea eax, [ecx - 1]
mov word [esi + ebx*2 + 0x4e], ax
jmp 0x1001ddf4
lea edx, [esp + 0x28]
mov ecx, esi
call fcn.1001ad30
test eax, eax
jne 0x1001e016
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1001de2d
cmp ecx, esi
je 0x1001de0f
test edx, edx
je 0x1001de18
cmp dword [ecx + 0x3c], edx
je 0x1001de18
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x1001de02
jmp 0x1001de2d
test ecx, ecx
je 0x1001de2d
push esi
call fcn.10016250
add esp, 4
test eax, eax
jne 0x1001e016
cmp dword [esi + 0x10], 0
jne 0x1001de62
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 0x1001de62
test byte [eax + 0x48], 0x10
je 0x1001de5b
cmp dword [eax + 0x18], ecx
jne 0x1001de5b
cmp dword [eax + 0x1c], edx
jne 0x1001de5b
mov byte [eax + 0x49], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x1001de47
mov edx, dword [edi + 0x44]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + 0x94]
cmp eax, dword [ecx + 0x98]
mov ecx, edx
jbe 0x1001de7f
call fcn.10012bd0
jmp 0x1001de84
call fcn.100128c0
test eax, eax
jne 0x1001e016
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call fcn.1001bdd0
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.1001c380
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001e016
cmp byte [edi + 5], al
jne 0x1001df9f
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.100168d0
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 0x1001df47
call fcn.10012bd0
jmp 0x1001df4c
call fcn.100128c0
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.1001c460
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.1001c380
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x1001e016
mov ecx, esi
call fcn.1001d830
mov edi, eax
test edi, edi
jne 0x1001dffd
movzx eax, word [esi + 0x4c]
movsx ecx, ax
cmp ecx, ebx
jle 0x1001dff6
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 0x1001dfe1
mov ecx, dword [edx + 0x44]
call fcn.100124f0
movzx eax, word [esi + 0x4c]
movzx ecx, ax
cwde
cmp eax, ebx
jg 0x1001dfc0
mov ecx, esi
call fcn.1001d830
mov edi, eax
test edi, edi
jne 0x1001dffd
mov ecx, esi
call fcn.1001a370
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100be769
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.100be769
mov esp, ebp
pop ebp
ret