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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1006da65
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc8
push ebx
push esi
push edi
push 3
pop edi
mov esi, ecx
mov dword [esp + 0x3c], edx
push edi
lea ecx, [esp + 0x8c]
call fcn.1001710b
xor ebx, ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x10], 7
mov dword [esp + 0xc], ebx
jmp 0x1001a1f0
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x38], 4
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x1001a1e0
mov dword [esp + 0xc], ebx
jmp 0x1001a20f
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x88]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001a1fd
mov edx, dword [esp + 0x88]
mov dword [edx + 8], ebx
mov eax, dword [edx + 8]
mov ecx, dword [esp + eax*4 + 0x38]
mov eax, dword [edx + 8]
mov dword [esp + eax*4 + 0x38], ecx
mov eax, dword [edx + 8]
cmp dword [esp + eax*4 + 0x38], ebx
jne 0x1001a23e
inc dword [edx + 8]
cmp dword [edx + 8], ebx
jle 0x1001a21f
mov dword [esp + 0x10], 0xfffffff5
jmp 0x1001a27a
mov dword [esp + 0xc], 8
mov dword [esp + 0xc], 0x1d
jmp 0x1001a26f
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], bl
je 0x1001a26b
push ebx
call fcn.1001cbbb
pop ecx
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff8
je 0x1001a25a
dec dword [esp + 0x10]
cmp dword [esp + 0x10], 0xffffffe4
jg 0x1001a248
or dword [esp + 0xdc], 0xffffffff
lea ecx, [esp + 0x88]
call fcn.1001718d
cmp dword [esi + 0x10], ebx
jne 0x1001a2a1
xor al, al
jmp 0x1001a85e
mov dword [esp + 0x4c], 1
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], 0xfc520ea0
mov dword [esp + 0x70], 0xcf7d
push 2
call fcn.1001710b
mov dword [esp + 0xdc], 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001a2ec
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 2
jl 0x1001a2d9
lea eax, [esp + 0x4c]
xor cl, cl
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x5c]
push eax
lea edx, [esp + 0x54]
call fcn.10019a41
mov eax, dword [esp + 0x60]
add esp, 0xc
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, eax
mov eax, dword [esp + 0x54]
or dword [esp + 0xdc], 0xffffffff
add ecx, 0xcd36
mov dword [eax], ecx
lea ecx, [esp + 0x54]
call fcn.1001718d
mov eax, dword [esp + 0x3c]
mov dword [eax], ebx
cmp dword [esi + 0x14], 0x10
jb 0x1001a351
mov ecx, dword [esi]
jmp 0x1001a353
mov ecx, esi
cmp dword [esi + 0x14], 0x10
mov dword [esp + 0x34], ecx
jb 0x1001a361
mov edx, dword [esi]
jmp 0x1001a363
mov edx, esi
mov eax, dword [esi + 0x10]
add eax, edx
cmp ecx, eax
je 0x1001a74a
push edi
lea ecx, [esp + 0x68]
call fcn.1001710b
mov dword [esp + 0xdc], 2
mov dword [esp + 0x20], 0xfffffffa
mov dword [esp + 0xc], 0xfffffffb
mov dword [esp + 0x10], ebx
jmp 0x1001a3ae
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov dword [eax + ecx*4], 0x20f89b5
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a39b
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
imul ecx, dword [eax]
test ecx, ecx
je 0x1001a409
or eax, 0xffffffff
lea ecx, [esp + 0x20]
mov dword [esp + 0xc0], eax
mov edx, 0x2fbd
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x64]
push ebx
push eax
call fcn.1001a08a
dec dword [esp + 0x14]
pop ecx
pop ecx
jmp 0x1001a45e
push 0x919
push 0x834
push 0x4d87
mov edx, 0x799a
mov cl, 1
call fcn.10019a41
add esp, 0xc
mov dword [esp + 0x20], 2
cmp dword [esp + 0x20], ebx
jl 0x1001a45e
mov dword [esp + 0xc], ebx
jmp 0x1001a451
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001a44d
mov cl, 1
call fcn.1001a051
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jle 0x1001a43b
dec dword [esp + 0x20]
jns 0x1001a435
or dword [esp + 0xdc], 0xffffffff
lea ecx, [esp + 0x64]
call fcn.1001718d
mov eax, dword [esp + 0x34]
mov al, byte [eax]
cmp al, 0x30
jl 0x1001a5ca
cmp al, 0x39
jg 0x1001a5ca
push 2
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x10], ebx
pop ecx
jmp 0x1001a4a6
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x18], 0xfffffff6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001a496
mov dword [esp + 0xc], ebx
jmp 0x1001a4be
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x7c], ebx
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001a4b2
mov dword [esp + 0xc], ebx
jmp 0x1001a4dd
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xb8], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001a4ca
mov eax, dword [esp + 0x18]
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp ecx, eax
setge dl
cmp edx, dword [esp + 0x18]
je 0x1001a506
cmp dword [esp + 0x1c], ebx
jne 0x1001a506
mov eax, ebx
jmp 0x1001a509
xor eax, eax
inc eax
xor edx, edx
cmp eax, 0x7976
mov eax, dword [esp + 0x1c]
setle dl
xor ecx, ecx
cmp edx, eax
setne cl
xor eax, eax
cmp ecx, 0xffffffff
setl al
xor edx, edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x1c]
cmp eax, 1
mov eax, dword [esp + 0x1c]
setl dl
xor ecx, ecx
sub edx, eax
mov eax, dword [esp + 0x1c]
cmp edx, eax
setl cl
cmp ecx, 0xfffffffc
ja 0x1001a567
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x84]
add eax, dword [esp + 0x1c]
je 0x1001a57b
mov eax, dword [esp + 0x80]
mov eax, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xbc], ebx
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
lea eax, [esp + 0x34]
push eax
push ebx
lea eax, [esp + 0x44]
setg cl
push eax
push 0x5dce
push 0x1618
mov dword [esp + 0x3c], ecx
call fcn.1001a8f1
mov ecx, dword [esp + 0x48]
add esp, 0x14
inc ecx
jmp 0x1001a353
mov dword [esp + 0x24], 0xb3198a8f
mov dword [esp + 0x24], 0xfffffff9
jmp 0x1001a64d
mov dword [esp + 0x44], 0x93dda37b
lea ecx, [esp + 0x94]
push edi
call fcn.1001710b
mov dword [esp + 0xdc], edi
mov dword [esp + 0x10], ebx
jmp 0x1001a614
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
mov dword [eax + ecx*4], 0x3205f5a2
inc dword [esp + 0x10]
cmp dword [esp + 0x10], edi
jl 0x1001a5fe
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.1001c851
or dword [esp + 0xec], 0xffffffff
lea ecx, [esp + 0xa4]
add esp, 0x10
call fcn.1001718d
dec dword [esp + 0x24]
cmp dword [esp + 0x24], 0xfffffff3
jg 0x1001a5dc
push 1
push 0x2ab
lea edx, [esp + 0x44]
mov ecx, 0x6d5c
call fcn.1001a08a
pop ecx
pop ecx
push edi
lea ecx, [esp + 0xa4]
call fcn.1001710b
push 2
lea ecx, [esp + 0xb0]
mov dword [esp + 0xe0], 4
call fcn.1001710b
mov byte [esp + 0xdc], 5
mov dword [esp + 0x40], 0x6310feca
mov dword [esp + 0x50], 0x1cb64b69
mov dword [esp + 0x74], 0xdefcecb2
mov dword [esp + 0xc], ebx
jmp 0x1001a6cd
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xa0]
mov dword [eax + ecx*4], 7
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x1001a6b7
mov dword [esp + 0xc], ebx
jmp 0x1001a6ef
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0xac]
mov dword [eax + ecx*4], 0xa1f94964
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 2
jl 0x1001a6d9
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0xa8]
push eax
push 1
lea edx, [esp + 0xbc]
lea ecx, [esp + 0x50]
call fcn.1001a0b8
lea eax, [esp + 0x50]
push eax
push 0x687c
push ebx
call fcn.1001a8b1
add esp, 0x1c
lea ecx, [esp + 0xac]
call fcn.1001718d
lea ecx, [esp + 0xa0]
call fcn.1001718d
jmp 0x1001a29a
mov dword [esp + 0x10], 0xfff9
xor edx, edx
mov dword [esp + 0x2c], 0x182abbf9
inc edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc], 0x807383cc
mov dword [esp + 0x78], 0xd635290c
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
add eax, 0xffffe503
add eax, ecx
cmp eax, dword [esp + 0x10]
jle 0x1001a7b3
mov dword [esp + 0x30], 0x20ea0c8d
mov dword [esp + 0x30], edx
mov dword [esp + 0x30], 5
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], 0xd02e
inc dword [esp + 0x2c]
jmp 0x1001a84a
mov dword [esp + 0xc], 0x1826fbd1
mov dword [esp + 0x60], edx
mov dword [esp + 0x30], 0xfffffff7
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x78]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
sub ecx, eax
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, 5
setg dl
xor ecx, ecx
imul edx, dword [esp + 0xc]
mov eax, dword [esp + 0x28]
cmp edx, eax
setne cl
sub ecx, 0xcd36
neg ecx
sbb ecx, ecx
add ecx, 0xb
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [esp + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
cmp ecx, eax
mov eax, dword [esp + 0x2c]
setle dl
xor ecx, ecx
cmp edx, eax
setl cl
cmp dword [esp + 0xc], ecx
je 0x1001a844
cmp dword [esp + 0x10], ebx
je 0x1001a844
xor eax, eax
inc eax
jmp 0x1001a846
mov eax, ebx
mov dword [esp + 0x30], eax
mov byte [esp + 0x17], bl
cmp byte [esp + 0x17], 0
je 0x1001a85c
push ebx
call fcn.1001dbc5
pop ecx
mov al, 1
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret