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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x1d1ac8
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x54], 0
je 0x1d1aad
mov eax, dword [ebp - 4]
cmp dword [eax + 0x58], 0
je 0x1d1aad
mov eax, dword [ebp - 4]
call fcn.001d26d0
mov dword [ebp - 0x14], 0xffffffff
xor edi, edi
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
mov esi, dword [eax + 8]
test esi, esi
je 0x1d17d3
mov ebx, dword [esi + 8]
mov al, byte [ebx + 0x14]
sub al, 1
jb 0x1d1748
sub al, 3
jb 0x1d1772
jmp 0x1d17c8
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x28]
call fcn.00111250
test al, al
je 0x1d17c8
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0xc]
jg 0x1d17c8
cmp eax, dword [ebp - 0x14]
jle 0x1d17c8
mov edi, ebx
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0xc]
setl byte [ebp - 0x19]
jmp 0x1d17c8
cmp byte [ebx + 0x1e], 0
je 0x1d17a3
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x2c]
call fcn.00111250
test al, al
je 0x1d17a3
mov eax, dword [ebx + 0x24]
cmp eax, dword [ebp - 0xc]
jg 0x1d17a3
cmp eax, dword [ebp - 0x14]
jle 0x1d17a3
mov edi, ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0xc]
setl byte [ebp - 0x19]
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x28]
call fcn.00111250
test al, al
je 0x1d17c8
mov eax, dword [ebx + 0x20]
cmp eax, dword [ebp - 0xc]
jg 0x1d17c8
cmp eax, dword [ebp - 0x14]
jle 0x1d17c8
mov edi, ebx
mov dword [ebp - 0x14], eax
mov byte [ebp - 0x19], 1
mov esi, dword [esi + 4]
test esi, esi
jne 0x1d1735
test edi, edi
je 0x1d1aad
cmp byte [edi + 0x14], 0
jne 0x1d17ef
cmp byte [ebp - 0x19], 0
jne 0x1d17eb
mov ebx, dword [edi]
jmp 0x1d17f1
mov ebx, edi
jmp 0x1d17f1
mov ebx, dword [edi]
mov dword [ebp - 0x10], ebx
mov al, byte [edi + 0x14]
dec eax
sub al, 3
jae 0x1d1aad
cmp byte [edi + 0x1e], 0
je 0x1d1aad
mov eax, dword [edi + 0x24]
cmp eax, dword [ebp - 0x14]
jne 0x1d1aad
mov eax, dword [ebp - 4]
lea edx, [eax + 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.001c985c
mov eax, dword [ebp - 4]
lea edx, [eax + 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.001c9864
mov eax, dword [ebp - 4]
lea edx, [eax + 0x60]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.001c986c
mov eax, dword [ebp - 4]
lea edx, [eax + 0x74]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.001c9874
mov eax, dword [ebp - 4]
mov cl, byte [eax + 0x78]
mov eax, dword [ebp - 4]
mov dl, byte [eax + 0x79]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.001c9854
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
call fcn.001cb2ec
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
call fcn.001cb338
mov eax, dword [ebp - 0x20]
call fcn.00105558
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.001c8ef0
push ebp
mov edx, dword [ebp - 0x14]
xor eax, eax
call fcn.001d15e8
pop ecx
mov dword [ebp - 0x18], eax
push ebp
mov eax, dword [ebp - 0x18]
inc eax
call fcn.001d1670
pop ecx
mov esi, eax
mov edx, esi
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.001c7ec4
mov eax, dword [eax + 0x100]
cmp eax, dword [ebp - 0xc]
jl 0x1d18f3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 0x18]
call fcn.001c7ec4
mov eax, dword [eax + 0x100]
cmp eax, dword [ebp - 0xc]
jle 0x1d18fd
xor eax, eax
mov dword [ebp - 0x10], eax
jmp 0x1d1aad
mov eax, dword [ebp - 4]
add eax, 0x3c
mov edx, dword [ebp - 8]
call fcn.001050d0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 4]
call fcn.001d1018
mov edx, dword [ebp - 4]
mov byte [edx + 0x39], al
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
setne al
mov edx, dword [ebp - 4]
mov byte [edx + 0xb0], al
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 4]
call fcn.001d28d4
mov edx, dword [ebp - 4]
mov byte [edx + 0x38], al
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 4]
mov byte [eax + 0x48], 3
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.001c7ec4
cmp byte [eax + 1], 0x7b
jne 0x1d1997
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.001cbec4
mov eax, dword [ebp - 4]
inc dword [eax + 0x34]
jmp 0x1d1a2c
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
call fcn.001c7ec4
cmp byte [eax + 1], 0x7d
jne 0x1d19ce
mov eax, dword [ebp - 4]
call fcn.001cbf9c
mov eax, dword [ebp - 4]
inc dword [eax + 0x34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
cmp dword [eax + 8], 0
je 0x1d1a50
jmp 0x1d1a2c
mov eax, dword [ebp - 4]
call fcn.001cc308
test al, al
je 0x1d19e4
mov eax, dword [ebp - 4]
call fcn.001cde94
jmp 0x1d1a2c
mov eax, dword [ebp - 4]
call fcn.001cc374
test al, al
je 0x1d19fa
mov eax, dword [ebp - 4]
call fcn.001ced58
jmp 0x1d1a2c
mov eax, dword [ebp - 4]
call fcn.001cd2dc
test al, al
je 0x1d1a10
mov eax, dword [ebp - 4]
call fcn.001d0258
jmp 0x1d1a2c
mov eax, dword [ebp - 4]
call fcn.001cda9c
test al, al
je 0x1d1a26
mov eax, dword [ebp - 4]
call fcn.001cfcfc
jmp 0x1d1a2c
mov eax, dword [ebp - 4]
inc dword [eax + 0x34]
mov eax, dword [ebp - 4]
call fcn.001cc2bc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
mov edx, dword [edx + 0x48]
cmp eax, dword [edx + 8]
jge 0x1d1a50
cmp esi, eax
jg 0x1d196b
test ebx, ebx
je 0x1d1a91
push 0
mov edx, dword [ebx + 0xc]
lea eax, [ebp - 0x24]
mov ecx, 0x1d1ae4
call fcn.001053a4
mov eax, dword [ebp - 0x24]
push eax
push 0x1d1af0
push 0
mov eax, dword [ebx + 0x24]
inc eax
push eax
push 4
push 2
push 1
push 0
push 0
push 1
push 0
mov ecx, dword [ebp - 8]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.001cbcc0
mov eax, dword [edi + 0x24]
push eax
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x10]
mov eax, dword [ebp - 4]
call fcn.001d26fc
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x1d1acf
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.001050a0
ret