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

Disassembly:
push 0xffffffffffffffff
push 0x1015966a
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b0cd0]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
lea eax, [esp + 0x7c]
xor ebx, ebx
push eax
mov dword [esp + 0x28], ebx
call fcn.1001bf90
mov esi, dword [esp + 0xb0]
mov ebp, 1
mov dword [esp + 0xa8], ebp
cmp dword [esi + 8], ebx
jne 0x100193f2
mov esi, dword [esp + 0xb4]
push esi
lea edi, [esp + 0x80]
call fcn.1001c020
mov ecx, edi
mov dword [esp + 0x24], ebp
mov byte [esp + 0xa8], bl
call fcn.1001c0a0
mov eax, esi
jmp 0x10019685
mov ebp, vtable.XStringA.0
push 1
mov dword [esp + 0x48], ebp
mov dword [esp + 0x58], 1
call fcn.10054f2b
add esp, 4
mov dword [esp + 0x48], eax
mov byte [eax], bl
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov edi, dword [esi + 8]
cmp edi, ebx
mov eax, dword [esi + 4]
jle 0x10019437
push eax
lea eax, [esp + 0x48]
call fcn.10018600
mov ebx, dword [esp + 0xb8]
lea eax, [esp + 0x60]
call fcn.10017fc0
mov ebx, 1
push ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x3c], ebx
call fcn.10054f2b
xor ebp, ebp
mov esi, eax
add esp, 4
mov dword [esp + 0x2c], esi
mov byte [esi], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0xb0]
mov byte [esp + 0xa8], 4
mov eax, dword [ecx + 8]
cdq
idiv dword [ecx + 0x10]
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x20], ebp
test eax, eax
jle 0x1001953a
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x18], 0xffffffff
jne 0x100196a9
mov eax, dword [esp + 0x68]
cdq
idiv dword [esp + 0x70]
xor ecx, ecx
mov edi, eax
test edi, edi
jle 0x100194e9
mov edx, dword [esp + 0x1c]
mov al, byte [edx]
mov edx, dword [esp + 0x64]
mov byte [esp + 0x14], al
mov al, byte [esp + 0x14]
cmp al, byte [edx]
je 0x100196a1
add edx, dword [esp + 0x70]
inc ecx
cmp ecx, edi
jl 0x100194d4
mov eax, dword [esp + 0x1c]
mov cl, byte [eax]
mov byte [esp + 0x14], cl
test ebx, ebx
jle 0x10019513
lea edx, [esp + 0x14]
push edx
mov edi, ebx
lea eax, [esp + 0x2c]
call fcn.10018600
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x54]
add dword [esp + 0x1c], eax
mov edi, dword [esp + 0xb0]
mov eax, dword [edi + 8]
cdq
idiv dword [edi + 0x10]
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, eax
jl 0x100194aa
mov eax, ebp
cdq
idiv ebx
test eax, eax
jg 0x10019551
cmp byte [esp + 0xbc], 0
jne 0x1001955f
test ebp, ebp
jne 0x1001955f
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x2c]
call fcn.1001c140
mov edx, dword [esp + 0xb4]
push edx
lea edi, [esp + 0x80]
call fcn.1001c020
mov dword [esp + 0x24], 1
test esi, esi
je 0x10019595
inc ebp
imul ebp, ebx
push ebp
push 0
push esi
call fcn.10057070
push esi
call fcn.10054ff5
add esp, 0x10
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x100195b6
mov eax, dword [esp + 0x40]
lea ecx, [eax + eax]
push ecx
push 0
push esi
call fcn.10057070
push esi
call fcn.1004698d
add esp, 0x10
mov esi, dword [esp + 0x64]
test esi, esi
je 0x100195da
mov edx, dword [esp + 0x68]
inc edx
imul edx, dword [esp + 0x70]
push edx
push 0
push esi
call fcn.10057070
push esi
call fcn.10054ff5
add esp, 0x10
mov esi, dword [esp + 0x74]
test esi, esi
je 0x100195fb
mov eax, dword [esp + 0x78]
lea ecx, [eax + eax]
push ecx
push 0
push esi
call fcn.10057070
push esi
call fcn.1004698d
add esp, 0x10
mov esi, dword [esp + 0x48]
test esi, esi
je 0x1001961f
mov edx, dword [esp + 0x4c]
inc edx
imul edx, dword [esp + 0x54]
push edx
push 0
push esi
call fcn.10057070
push esi
call fcn.10054ff5
add esp, 0x10
mov esi, dword [esp + 0x58]
test esi, esi
je 0x10019640
mov eax, dword [esp + 0x5c]
lea ecx, [eax + eax]
push ecx
push 0
push esi
call fcn.10057070
push esi
call fcn.1004698d
add esp, 0x10
mov dword [esp + 0x7c], vtable.XStringAList.0
lea esi, [esp + 0x7c]
mov dword [esp + 0xa8], 5
call fcn.1001c3f0
mov edx, dword [esp + 0x9c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x80]
mov byte [esp + 0xa8], 0
call fcn.1004a2ea
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret 0x10
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
xor edi, edi
cmp dword [esp + 0x18], edi
jl 0x100194e9
mov eax, ebp
cdq
idiv ebx
test eax, eax
jg 0x100196cc
cmp byte [esp + 0xbc], 0
jne 0x100196da
cmp ebp, edi
jne 0x100196da
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x2c]
call fcn.1001c140
mov dword [esp + 0x18], 0xffffffff
cmp ebp, edi
je 0x10019513
cmp esi, edi
je 0x10019703
inc ebp
imul ebp, ebx
push ebp
push edi
push esi
call fcn.10057070
push esi
call fcn.10054ff5
add esp, 0x10
mov ebx, 1
push ebx
mov dword [esp + 0x3c], ebx
call fcn.10054f2b
add esp, 4
mov esi, eax
xor ebp, ebp
mov dword [esp + 0x2c], esi
mov byte [esi], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
jmp 0x10019513