Function at 0x1019aed0
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.0x1019aeee.157
jmp dword [eax*4 + 0x1019b204]
mov dword [esp + 0x24], 0x1019aa50
jmp 0x1019af1b
mov dword [esp + 0x24], 0x1019aa30
jmp 0x1019af1b
mov dword [esp + 0x24], 0x1019aa70
jmp 0x1019af1b
mov dword [esp + 0x24], 0x1019aa10
push edx
lea ecx, [esp + 0x7c]
call fcn.10198a60
push dword [esp + 0xb0]
lea ecx, [esp + 0x94]
call fcn.10198a60
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 0x1019afbb
cmp eax, edi
mov esi, ebp
cmovg ebp, edi
cmp dword [esp + 0x20], edi
cmovg eax, edi
jmp 0x1019afdc
mov ecx, dword [esp + 0x30]
jle 0x1019afcf
cmp ebx, ebp
mov eax, ebx
mov esi, edi
cmovg edi, ebp
cmovg eax, ebp
jmp 0x1019afe0
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 0x1019b1f7
cmp eax, ebx
cmovle ebx, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x1019b07c
test ecx, ecx
jne 0x1019b07c
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 0x1019b03d
push 1
mov dword [ecx + 0x20], ebx
call fcn.10199e80
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 0x1019b05f
push ebx
xor edx, edx
mov ecx, eax
call fcn.1019a0c0
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.1019a0c0
add esp, 4
add dword [esi + 4], ebx
mov ebx, dword [esp + 0x2c]
jmp 0x1019b136
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 4]
jl 0x1019b136
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 0x1019b0be
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 0x1019b0cd
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 0x1019b107
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 0x1019b116
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.1019ac10
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp eax, edx
jne 0x1019b18e
cmp byte [esp + 0x16], 0
jne 0x1019b186
mov esi, dword [esp + 0x34]
lea ecx, [esi + 8]
cmp ecx, dword [esp + 0x7c]
jb 0x1019b16a
mov byte [esp + 0x16], 1
mov edx, SysReAllocString
mov dword [esp + 0x28], 0
jmp 0x1019b182
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 0x1019b1dd
cmp byte [esp + 0x17], 0
jne 0x1019b1d5
mov edx, dword [esp + 0x3c]
lea ecx, [edx + 8]
cmp ecx, dword [esp + 0x94]
jb 0x1019b1bd
mov byte [esp + 0x17], 1
mov ebx, SysReAllocString
mov dword [esp + 0x30], 0
jmp 0x1019b1d1
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 0x1019afa3
cmp byte [esp + 0x17], 0
je 0x1019afa3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret