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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1011cb95
mov eax, dword fs:[0]
push eax
sub esp, 0xe0
mov eax, dword [0x1016b2e8]
xor eax, esp
mov dword [esp + 0xd8], eax
push ebx
push esi
push edi
mov eax, dword [0x1016b2e8]
xor eax, esp
push eax
lea eax, [esp + 0xf0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x9c]
push ecx
mov dword [esp + 0x94], eax
call fcn.100131a0
xor ebx, ebx
mov dword [esp + 0xf8], ebx
call fcn.100015d0
push 2
lea ecx, [esp + 0xa0]
call fcn.1001b1a0
test al, al
jne 0x100198de
mov esi, 0x10
cmp dword [esp + 0xd0], esi
jb 0x100198a5
mov edx, dword [esp + 0xbc]
push edx
call fcn.100618cf
add esp, 4
mov dword [esp + 0xd0], 0xf
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xbc], bl
cmp dword [esp + 0xb4], esi
jb 0x100198d7
mov eax, dword [esp + 0xa0]
push eax
call fcn.100618cf
add esp, 4
xor al, al
jmp 0x10019d4a
lea ecx, [esp + 0x68]
push 4
mov byte [esp + 0x1a], 1
mov dword [esp + 0x40], ecx
mov byte [esp + 0x1b], bl
call fcn.10061972
add esp, 4
cmp eax, ebx
je 0x10019905
lea edx, [esp + 0x68]
mov dword [eax], edx
jmp 0x10019907
xor eax, eax
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
mov byte [esp + 0xf8], 1
call fcn.10003830
xor eax, eax
mov word [esp + 0x64], ax
mov dword [esp + 0x84], ebx
mov byte [esp + 0x80], bl
mov byte [esp + 0x81], bl
mov byte [esp + 0x82], bl
mov byte [esp + 0xf8], 2
lea ecx, [esp + 0x44]
push 4
mov dword [esp + 0x40], ecx
mov byte [esp + 0x1b], bl
call fcn.10061972
add esp, 4
cmp eax, ebx
je 0x10019969
lea edx, [esp + 0x44]
mov dword [eax], edx
jmp 0x1001996b
xor eax, eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0x44]
mov byte [esp + 0xf8], 3
call fcn.10003830
xor eax, eax
mov word [esp + 0x40], ax
mov dword [esp + 0x60], ebx
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], bl
mov byte [esp + 0xf8], 4
call fcn.10001530
call fcn.10001530
call fcn.10001530
mov esi, 0x14
push 4
mov dword [esp + 0x40], esi
mov byte [esp + 0x1b], bl
call fcn.10061972
add esp, 4
cmp eax, ebx
je 0x100199d1
lea ecx, [esp + 0x18]
mov dword [eax], ecx
jmp 0x100199d3
xor eax, eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
mov byte [esp + 0xf8], 5
call fcn.10003830
mov byte [esp + 0xf8], 6
push esi
lea eax, [esp + 0x1c]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.10003840
mov byte [esp + 0xf8], 7
call fcn.10001530
call fcn.10001530
mov esi, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x34]
sub esi, eax
add edi, 9
cmp esi, 0x10
jbe 0x10019a33
mov esi, 0x10
jmp 0x10019a37
cmp esi, ebx
je 0x10019a70
cmp edi, ebx
je 0x10019a70
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
cmp eax, edx
jb 0x10019a53
call fcn.10061d20
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x24]
push esi
push edi
add ecx, eax
push esi
push ecx
call fcn.100618da
add esp, 0x10
add dword [esp + 0x34], esi
call fcn.10001530
movzx edx, word [eax + 0x28]
mov esi, dword [esp + 0x30]
add eax, 8
mov eax, dword [esp + 0x34]
sub esi, eax
mov dword [esp + 0x88], edx
cmp esi, 2
jbe 0x10019a99
mov esi, 2
jmp 0x10019a9d
cmp esi, ebx
je 0x10019acd
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov edi, eax
cmp eax, ecx
jb 0x10019ab0
call fcn.10061d20
mov eax, dword [esp + 0x24]
push esi
lea edx, [esp + 0x8c]
push edx
add eax, edi
push esi
push eax
call fcn.100618da
add esp, 0x10
add dword [esp + 0x34], esi
call fcn.10001530
movzx ecx, word [eax + 0x2a]
mov esi, dword [esp + 0x30]
add eax, 8
mov eax, dword [esp + 0x34]
sub esi, eax
mov dword [esp + 0x98], ecx
cmp esi, 2
jbe 0x10019af6
mov esi, 2
jmp 0x10019afa
cmp esi, ebx
je 0x10019b2a
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x24]
mov edi, eax
cmp eax, edx
jb 0x10019b0d
call fcn.10061d20
mov ecx, dword [esp + 0x24]
push esi
lea eax, [esp + 0x9c]
push eax
add ecx, edi
push esi
push ecx
call fcn.100618da
add esp, 0x10
add dword [esp + 0x34], esi
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x24]
jne 0x10019b38
xor ecx, ecx
jmp 0x10019b45
cmp eax, ebx
ja 0x10019b41
call fcn.10061d20
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xd8]
push edx
push 2
lea eax, [esp + 0x6c]
push eax
lea edx, [esp + 0x48]
call fcn.10013680
test al, al
jne 0x10019ba6
mov eax, dword [esp + 0x24]
mov byte [esp + 0x16], bl
cmp eax, ebx
je 0x10019b76
push eax
call fcn.100618cf
add esp, 4
mov ecx, dword [esp + 0x18]
push ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call fcn.100618cf
add esp, 4
lea eax, [esp + 0x40]
call fcn.10013600
lea eax, [esp + 0x64]
call fcn.10013600
jmp 0x10019cf6
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0xa4]
call fcn.10019d70
test al, al
je 0x10019b61
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x50]
lea edx, [eax - 4]
test edx, edx
jbe 0x10019beb
cmp eax, 4
ja 0x10019bd9
call fcn.10061d20
mov eax, dword [esp + 0x50]
mov cx, word [eax + 4]
mov edx, dword [esp + 0x90]
mov word [edx], cx
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x10019bfc
push eax
call fcn.100618cf
add esp, 4
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call fcn.100618cf
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
add esp, 4
mov ebx, ecx
cmp eax, ecx
jbe 0x10019c30
call fcn.10061d20
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x44]
mov edi, eax
cmp eax, ecx
jbe 0x10019c3f
call fcn.10061d20
mov ecx, dword [esp + 0x44]
push ebx
push esi
push edi
push ecx
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x54]
call fcn.10003910
mov eax, dword [esp + 0x50]
xor esi, esi
cmp eax, esi
je 0x10019c6a
push eax
call fcn.100618cf
add esp, 4
mov edx, dword [esp + 0x44]
push edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
call fcn.100618cf
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
add esp, 4
mov ebx, ecx
cmp eax, ecx
jbe 0x10019c9e
call fcn.10061d20
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x68]
mov edi, eax
cmp eax, ecx
jbe 0x10019cad
call fcn.10061d20
mov eax, dword [esp + 0x68]
push ebx
push esi
push edi
push eax
lea ebx, [esp + 0xa0]
lea esi, [esp + 0x78]
call fcn.10003910
mov eax, dword [esp + 0x74]
xor esi, esi
cmp eax, esi
je 0x10019cd8
push eax
call fcn.100618cf
add esp, 4
mov ecx, dword [esp + 0x68]
push ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
call fcn.100618cf
add esp, 4
xor ebx, ebx
mov esi, 0x10
cmp dword [esp + 0xd0], esi
jb 0x10019d14
mov edx, dword [esp + 0xbc]
push edx
call fcn.100618cf
add esp, 4
mov dword [esp + 0xd0], 0xf
mov dword [esp + 0xcc], ebx
mov byte [esp + 0xbc], bl
cmp dword [esp + 0xb4], esi
jb 0x10019d46
mov eax, dword [esp + 0xa0]
push eax
call fcn.100618cf
add esp, 4
mov al, byte [esp + 0x16]
mov ecx, dword [esp + 0xf0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd8]
xor ecx, esp
call fcn.10061731
mov esp, ebp
pop ebp
ret 4