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

Disassembly:
sub esp, 0x9c
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x3c], edx
mov dword [esp + 8], ecx
push ebx
push ebp
push esi
push edi
cmp eax, 3
ja case.0x1019ad3e.157
jmp dword [eax*4 + 0x1019b054]
mov dword [esp + 0x24], 0x1019a8a0
jmp 0x1019ad6b
mov dword [esp + 0x24], 0x1019a880
jmp 0x1019ad6b
mov dword [esp + 0x24], 0x1019a8c0
jmp 0x1019ad6b
mov dword [esp + 0x24], 0x1019a860
push edx
lea ecx, [esp + 0x7c]
call fcn.101988d0
push dword [esp + 0xb0]
lea ecx, [esp + 0x94]
call fcn.101988d0
mov cl, byte [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x9c]
mov byte [esp + 0x16], cl
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x34], ecx
mov cl, byte [esp + 0xa4]
mov byte [esp + 0x17], cl
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
xor edx, edx
xor ecx, ecx
cmp ebp, edi
jge 0x1019ae0b
cmp eax, edi
mov esi, ebp
cmovg ebp, edi
cmp dword [esp + 0x20], edi
cmovg eax, edi
jmp 0x1019ae2c
mov ecx, dword [esp + 0x30]
jle 0x1019ae1f
cmp ebx, ebp
mov eax, ebx
mov esi, edi
cmovg edi, ebp
cmovg eax, ebp
jmp 0x1019ae30
cmp eax, ebx
mov edi, ebx
mov esi, ebp
cmovle edi, eax
mov ebp, edi
mov eax, edi
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov ebx, dword [ebx + 0xc]
cmp esi, ebx
jge 0x1019b047
cmp eax, ebx
cmovle ebx, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x1019aecc
test ecx, ecx
jne 0x1019aecc
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
sub ebx, dword [ecx + 4]
mov eax, dword [ecx + 8]
dec ebx
sub eax, dword [ecx]
mov esi, dword [ecx + 0x1c]
mov dword [esp + 0x48], eax
cmp ebx, dword [ecx + 0x20]
je 0x1019ae8d
push 1
mov dword [ecx + 0x20], ebx
call fcn.10199cd0
mov esi, eax
mov eax, dword [esp + 0x18]
mov dword [esi], ebx
mov dword [esi + 4], 0
mov dword [eax + 0x1c], esi
mov ebx, dword [esi + 4]
neg ebx
mov eax, dword [esi + 8]
mov dword [esp + 0x44], eax
je 0x1019aeaf
push ebx
xor edx, edx
mov ecx, eax
call fcn.10199f10
mov eax, dword [esp + 0x48]
add esp, 4
add dword [esi + 4], ebx
mov ebx, dword [esp + 0x48]
xor edx, edx
push ebx
mov ecx, eax
call fcn.10199f10
add esp, 4
add dword [esi + 4], ebx
mov ebx, dword [esp + 0x2c]
jmp 0x1019af86
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 4]
jl 0x1019af86
mov eax, dword [esp + 0x4c]
test edx, edx
mov dword [esp + 0x64], edx
cmove eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], esi
mov dword [esp + 0x70], eax
je 0x1019af0e
movzx eax, byte [edx]
add eax, esi
mov byte [esp + 0x74], 0
mov dword [esp + 0x6c], eax
mov al, byte [edx + 1]
mov byte [esp + 0x75], al
jmp 0x1019af1d
mov word [esp + 0x74], 1
mov dword [esp + 0x6c], SysReAllocString
mov eax, dword [esp + 0xb0]
test ecx, ecx
mov esi, dword [esp + 0x18]
cmove eax, esi
mov dword [esp + 0x50], ecx
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], eax
je 0x1019af57
movzx eax, byte [ecx]
add eax, edx
mov byte [esp + 0x60], 0
mov dword [esp + 0x58], eax
mov al, byte [ecx + 1]
mov byte [esp + 0x61], al
jmp 0x1019af66
mov word [esp + 0x60], 1
mov dword [esp + 0x58], SysReAllocString
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x50]
push esi
push dword [esp + 0x28]
mov ecx, esi
push eax
lea eax, [esp + 0x70]
push eax
lea edx, [edx - 1]
call fcn.1019aa60
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp eax, edx
jne 0x1019afde
cmp byte [esp + 0x16], 0
jne 0x1019afd6
mov esi, dword [esp + 0x34]
lea ecx, [esi + 8]
cmp ecx, dword [esp + 0x7c]
jb 0x1019afba
mov byte [esp + 0x16], 1
mov edx, SysReAllocString
mov dword [esp + 0x28], 0
jmp 0x1019afd2
mov eax, dword [ecx]
sub eax, dword [esi]
add edx, eax
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 4]
sub eax, dword [esi + 4]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x38], edx
cmp eax, ebx
jne 0x1019b02d
cmp byte [esp + 0x17], 0
jne 0x1019b025
mov edx, dword [esp + 0x3c]
lea ecx, [edx + 8]
cmp ecx, dword [esp + 0x94]
jb 0x1019b00d
mov byte [esp + 0x17], 1
mov ebx, SysReAllocString
mov dword [esp + 0x30], 0
jmp 0x1019b021
mov eax, dword [ecx]
sub eax, dword [edx]
add ebx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [ecx + 4]
sub eax, dword [edx + 4]
add dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov edi, dword [esp + 0x40]
mov dword [esp + 0x40], ebx
cmp byte [esp + 0x16], 0
mov eax, dword [esp + 0x20]
je 0x1019adf3
cmp byte [esp + 0x17], 0
je 0x1019adf3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret