Function at 0x1019ae40
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.0x1019ae5e.157
jmp dword [eax*4 + 0x1019b174]
mov dword [esp + 0x24], 0x1019a9c0
jmp 0x1019ae8b
mov dword [esp + 0x24], 0x1019a9a0
jmp 0x1019ae8b
mov dword [esp + 0x24], 0x1019a9e0
jmp 0x1019ae8b
mov dword [esp + 0x24], 0x1019a980
push edx
lea ecx, [esp + 0x7c]
call fcn.101989f0
push dword [esp + 0xb0]
lea ecx, [esp + 0x94]
call fcn.101989f0
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 0x1019af2b
cmp eax, edi
mov esi, ebp
cmovg ebp, edi
cmp dword [esp + 0x20], edi
cmovg eax, edi
jmp 0x1019af4c
mov ecx, dword [esp + 0x30]
jle 0x1019af3f
cmp ebx, ebp
mov eax, ebx
mov esi, edi
cmovg edi, ebp
cmovg eax, ebp
jmp 0x1019af50
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 0x1019b167
cmp eax, ebx
cmovle ebx, eax
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x2c]
test edx, edx
jne 0x1019afec
test ecx, ecx
jne 0x1019afec
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 0x1019afad
push 1
mov dword [ecx + 0x20], ebx
call fcn.10199df0
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 0x1019afcf
push ebx
xor edx, edx
mov ecx, eax
call fcn.1019a030
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.1019a030
add esp, 4
add dword [esi + 4], ebx
mov ebx, dword [esp + 0x2c]
jmp 0x1019b0a6
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 4]
jl 0x1019b0a6
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 0x1019b02e
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 0x1019b03d
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 0x1019b077
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 0x1019b086
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.1019ab80
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
cmp eax, edx
jne 0x1019b0fe
cmp byte [esp + 0x16], 0
jne 0x1019b0f6
mov esi, dword [esp + 0x34]
lea ecx, [esi + 8]
cmp ecx, dword [esp + 0x7c]
jb 0x1019b0da
mov byte [esp + 0x16], 1
mov edx, SysReAllocString
mov dword [esp + 0x28], 0
jmp 0x1019b0f2
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 0x1019b14d
cmp byte [esp + 0x17], 0
jne 0x1019b145
mov edx, dword [esp + 0x3c]
lea ecx, [edx + 8]
cmp ecx, dword [esp + 0x94]
jb 0x1019b12d
mov byte [esp + 0x17], 1
mov ebx, SysReAllocString
mov dword [esp + 0x30], 0
jmp 0x1019b141
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 0x1019af13
cmp byte [esp + 0x17], 0
je 0x1019af13
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret