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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10061623
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb8
cmp byte [ebp + 0x1c], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x14], ebx
je 0x1001b9b7
cmp byte [ebp + 8], 0
je 0x1001b9a5
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
je 0x1001b99a
xor eax, eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0xc]
push eax
push 0x1000
call fcn.10016e93
and dword [esp + 0xcc], 0
mov edi, 0x7687
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
push dword [esp + 0x3c]
sar eax, 1
push eax
push edi
push 0x7125
call fcn.100326de
pop ecx
pop ecx
call eax
push dword [esp + 0x3c]
lea ecx, [esp + 0x78]
call fcn.1001c379
push 0x86ad
mov byte [esp + 0xd0], 1
call fcn.10016746
mov dword [esp], 0x529a
mov edx, 0x3bb2
push 0x186a
push 0x206e
push 1
movzx eax, ax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x5c]
push eax
push 0x1884
push ecx
push 0x2bf9
push 0x3c1e
push 0x47e1
push 0x301b
lea ecx, [esp + 0xa0]
call fcn.1001b0ba
add esp, 0x28
lea ecx, [esp + 0xac]
mov edx, 0x598
call fcn.1003feb0
push ecx
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xd8], 2
call fcn.1001daf1
push 0
push 1
lea ecx, [esp + 0xb0]
mov byte [esp + 0xd4], 1
call fcn.10004bb8
cmp dword [esp + 0x88], 8
lea eax, [esp + 0x74]
push 0
cmovae eax, dword [esp + 0x78]
push eax
push edi
push 0x5e4e
call fcn.100326de
pop ecx
pop ecx
call eax
lea eax, [esp + 0x4c]
push eax
push 1
push 1
push 0x465a
push 1
push 0x61fd
push 0x5c82
lea edx, [esp + 0x90]
mov ecx, 0x61ba
call fcn.1001ae48
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x64]
sub ecx, dword [ebx]
add esp, 0x1c
mov edx, dword [ebx]
and dword [esp + 0x48], 0
push eax
call fcn.1001f9c2
xor al, al
and dword [esp + 0x10], 0
pop ecx
mov byte [esp + 0x13], al
test al, al
jne 0x1001b978
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x90]
call fcn.100043e0
push 0x10
pop edx
lea ecx, [esp + 0xa8]
mov byte [esp + 0xcc], 3
call fcn.10002b63
push ecx
push ecx
lea eax, [esp + 0xb0]
mov byte [esp + 0xd4], 4
push eax
lea ecx, [esp + 0x98]
call fcn.1001daf1
push 0x65
pop eax
push 2
mov dword [esp + 0x1c], 0x1d023003
xor ecx, ecx
mov dword [esp + 0x20], 0x4b001d01
mov dword [esp + 0x24], 0xeb12b503
mov word [esp + 0x5a], ax
pop esi
cmp esi, 8
jne 0x1001b600
push 4
pop ecx
push 0xa
pop esi
jmp 0x1001b627
movzx edx, byte [esp + esi + 0x19]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x16]
movzx eax, word [esp + eax*2 + 0x50]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x18]
mov word [esp + eax*2 + 0x50], cx
xor ecx, ecx
add esi, 2
cmp esi, 0xc
jb 0x1001b5f3
xor eax, eax
mov dword [esp + 0x70], 7
and dword [esp + 0x6c], eax
lea ecx, [esp + 0x5c]
mov word [esp + 0x58], ax
mov word [esp + 0x5c], ax
lea eax, [esp + 0x50]
push eax
call fcn.1001cd0a
push ecx
push ecx
lea eax, [esp + 0x64]
mov byte [esp + 0xd4], 5
push eax
lea ecx, [esp + 0x98]
call fcn.1001daf1
push 0
push 1
lea ecx, [esp + 0x64]
mov byte [esp + 0xd4], 4
call fcn.10004bb8
xor eax, eax
lea edi, [esp + 0x50]
cmp dword [esp + 0xa0], 8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x8c]
cmovae eax, dword [esp + 0x8c]
mov edi, 0x7687
xor ecx, ecx
push ecx
push 0x80
push 2
push ecx
push ecx
push 0x40000000
push eax
push edi
push 0x9984
call fcn.100326de
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1001b710
push 0
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x50]
push dword [ebx]
push esi
push edi
push 0x83fc
call fcn.100326de
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0xa9aa
setne bl
call fcn.100326de
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1001b755
mov ebx, dword [esp + 0x14]
push 0
push 1
lea ecx, [esp + 0xb0]
call fcn.10004bb8
push 0
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0xd4], 1
call fcn.10004bb8
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
cmp eax, 0x12c
jae 0x1001b978
mov al, byte [esp + 0x13]
jmp 0x1001b580
push 0x22
pop eax
xor ebx, ebx
mov dword [esp + 0x24], 0x43033d00
push 2
mov ecx, ebx
mov word [esp + 0x2c], 0x9541
mov word [esp + 0x18], ax
pop esi
mov dword [esp + 0xc], ecx
cmp esi, 2
jne 0x1001b787
push 4
pop ecx
push ecx
mov dword [esp + 0x10], ecx
pop esi
jmp 0x1001b7da
movzx edx, byte [esp + esi + 0x25]
mov eax, esi
sub eax, ecx
push 0x11bf
movzx eax, byte [esp + eax + 0x26]
movzx eax, word [esp + eax*2 + 0x18]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0x40c7
sub ecx, eax
movzx eax, byte [esp + esi + 0x28]
mov word [esp + eax*2 + 0x18], cx
lea eax, [esp + 0x10]
push eax
push 0x6257
push 0x1298
push 0x5917
push 1
mov cl, 1
call fcn.1001b24d
mov ecx, dword [esp + 0x24]
add esp, 0x18
add esi, 2
cmp esi, 6
jb 0x1001b777
xor eax, eax
mov dword [esp + 0x6c], ebx
push 7
mov word [esp + 0x1a], ax
lea ecx, [esp + 0x60]
pop edi
mov word [esp + 0x5c], ax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x74], edi
call fcn.1001cd0a
push ecx
push ecx
lea eax, [esp + 0x94]
mov byte [esp + 0xd4], 6
push eax
lea ecx, [esp + 0x68]
mov dword [esp + 0x20], ebx
call fcn.1001daf1
push 0x2f
pop eax
push 2
mov ecx, ebx
mov dword [esp + 0x28], 0x7c034a02
mov dword [esp + 0x2c], 0x86037100
mov dword [esp + 0x30], 0x20123e5
mov word [esp + 0x20], ax
pop esi
mov dword [esp + 0xc], ecx
cmp esi, 6
jne 0x1001b860
push 4
pop ecx
push 8
mov dword [esp + 0x10], ecx
pop esi
jmp 0x1001b8af
movzx edx, byte [esp + esi + 0x25]
mov eax, esi
sub eax, ecx
push 0x16a8
movzx eax, byte [esp + eax + 0x26]
movzx eax, word [esp + eax*2 + 0x1c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x28]
push ecx
push ecx
push 0x119
push 0x60ac
mov word [esp + eax*2 + 0x2c], cx
lea eax, [esp + 0x20]
push ecx
push eax
push 0xa88
mov cl, 1
call fcn.1001ba10
mov ecx, dword [esp + 0x2c]
add esp, 0x20
add esi, 2
cmp esi, 0xc
jb 0x1001b84f
xor eax, eax
mov dword [esp + 0x38], edi
mov word [esp + 0x20], ax
lea ecx, [esp + 0x24]
mov word [esp + 0x24], ax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x38], ebx
call fcn.1001cd0a
push ecx
push ecx
lea eax, [esp + 0x2c]
mov byte [esp + 0xd4], 7
push eax
lea ecx, [esp + 0x68]
call fcn.1001daf1
push ebx
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd4], 6
call fcn.10004bb8
xor eax, eax
lea edi, [esp + 0x18]
stosd dword es:[edi], eax
mov edx, 0x24e1
push 0x3ba4
push ebx
push 0xa13
stosd dword es:[edi], eax
mov ecx, 0x7d1b
push 1
push 0xc92
stosw word es:[edi], ax
lea eax, [esp + 0x27]
push eax
push 1
call fcn.1001b3c9
add esp, 0x1c
lea edx, [esp + 0x74]
lea ecx, [esp + 0x5c]
call fcn.1001a693
mov ecx, dword [ebp + 0x18]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0x64]
call fcn.10004bb8
push ebx
push 1
lea ecx, [esp + 0xb0]
call fcn.10004bb8
push ebx
push 1
lea ecx, [esp + 0x94]
call fcn.10004bb8
jmp 0x1001b983
mov eax, dword [ebp + 0x18]
xor ebx, ebx
mov dword [eax], 2
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.10004bb8
lea ecx, [esp + 0x3c]
call fcn.10016f1a
jmp 0x1001b9ca
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x1001b9ca
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, dword [ebp + 0x20]
sar ecx, 2
mov dword [eax], ecx
jmp 0x1001b9ca
cmp byte [ebp + 0x14], 0
je 0x1001b9c5
mov eax, dword [ebp + 0xc]
mov byte [eax], 1
jmp 0x1001b9ca
mov eax, dword [edx]
dec dword [eax + 8]
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret