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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10088ff2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov esi, edx
mov dword [esp + 0x24], esi
cmp dword [edi + 0x10], ebx
jne 0x1001c89a
xor al, al
jmp 0x1001d1ce
mov dword [esp + 0xc], 0x24a8c6a5
mov dword [esp + 0x18], 0xffffffff
push 2
mov dword [esp + 0x4c], 0xfd78db58
mov dword [esp + 0x10], ebx
pop ecx
jmp 0x1001c8ce
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xdc], 0x1da7bc99
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001c8bb
mov dword [esp + 0xc], ebx
jmp 0x1001c8ed
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xf0], 4
inc dword [esp + 0xc]
cmp dword [esp + 0xc], ecx
jl 0x1001c8da
mov dword [esp + 0xc], ebx
jmp 0x1001c952
mov dword [esp + 0x10], 0xffffffff
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0xdc], 1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x10]
setl dl
xor ecx, ecx
cmp eax, edx
setl cl
sub ecx, 8
neg ecx
sbb ecx, ecx
inc ecx
sub ecx, dword [esp + 0x10]
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0xffffffff
setne al
mov dword [esp + 0xf0], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0x17
je 0x1001c8f9
mov dword [esp + 0xc], 9
jmp 0x1001ca7b
mov dword [esp + 0x14], 0xeb382e58
lea ecx, [esp + 0xe4]
mov dword [esp + 0x20], 0x5ee56e31
mov dword [esp + 0x20], 0x7e0fa1a8
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x20], 0xb8342836
mov dword [esp + 0x20], 0xfffffff9
mov dword [esp + 0x20], 0xe83adeb9
mov dword [esp + 0x20], 0x4e5477a7
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x20], 0x1f08a1ba
mov dword [esp + 0x20], 1
mov dword [esp + 0x20], 1
mov dword [esp + 0x20], 0xfffffffc
push 3
call fcn.100185e1
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x10], ebx
jmp 0x1001ca07
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xe4]
mov dword [eax + ecx*4], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jl 0x1001c9f1
mov dword [esp + 0x14], ebx
jmp 0x1001ca5c
mov dword [esp + 0x20], 0xe4ed383d
mov dword [esp + 0x10], ebx
jmp 0x1001ca35
mov eax, dword [esp + 0x10]
mov dword [esp + eax*4 + 0x110], 1
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 4
jl 0x1001ca22
dec dword [esp + 0x18]
lea eax, [esp + 0x48]
push 0x2e41
push eax
xor dl, dl
mov ecx, 0x568c
call fcn.1001c07c
inc dword [esp + 0x1c]
pop ecx
pop ecx
cmp dword [esp + 0x14], 1
jle 0x1001ca14
or dword [esp + 0x12c], 0xffffffff
lea ecx, [esp + 0xe4]
call fcn.10018e75
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff0
je 0x1001c966
push 4
lea ecx, [esp + 0x60]
mov dword [esi], ebx
call fcn.100185e1
xor eax, eax
lea ecx, [esp + 0xd0]
inc eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x10], 0x6fe7d8a8
mov dword [esp + 0x38], 2
push eax
call fcn.100185e1
push 1
lea ecx, [esp + 0xc8]
mov byte [esp + 0x130], 2
call fcn.100185e1
mov byte [esp + 0x12c], 3
mov dword [esp + 0x4c], 0xe07b88c8
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x50], 1
mov dword [esp + 0x1c], ebx
jmp 0x1001cb05
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov dword [eax + ecx*4], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 4
jl 0x1001caf6
lea eax, [esp + 0xd0]
mov dl, 1
push eax
push 0x7910
lea ecx, [esp + 0x24]
call fcn.1001c07c
pop ecx
pop ecx
mov dword [esp + 0x1c], ebx
jmp 0x1001cb42
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
mov dword [eax + ecx*4], 0x90cb933d
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 1
jl 0x1001cb2c
mov dword [esp + 0x1c], ebx
jmp 0x1001cb5e
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x108], ebx
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 2
jl 0x1001cb4f
mov dword [esp + 0x10], ebx
jmp 0x1001cda2
mov dword [esp + 0xc], 9
lea ecx, [esp + 0x74]
push 1
call fcn.100185e1
lea eax, [esp + 0x74]
mov byte [esp + 0x12c], 4
push eax
push 0x3154
push 0x5a16
lea eax, [esp + 0x60]
mov dword [esp + 0x40], ebx
push eax
mov dword [esp + 0x38], 0x3de7
push ebx
call fcn.1001d2cb
add esp, 0x14
mov dword [esp + 0xc], ebx
jmp 0x1001cc44
mov dword [esp + 0x18], 7
xor ecx, ecx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0xc]
test eax, eax
push 0
setns cl
imul ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x10]
cmp dword [ecx + edx*4], eax
mov eax, dword [esp + 0x60]
pop edx
push ebx
push 0x5708
push 0xc6e
push 0xc70
push 0x4846
push 0x3b1d
setle dl
xor ecx, ecx
cmp dword [eax + esi*4], edx
push 0x53da
push 0x2a83
sete cl
push 0x49a0
mov dword [esp + 0x3c], ecx
push 0x4807
call fcn.1001f7c1
add esp, 0x28
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jle 0x1001cbbb
push ebx
lea eax, [esp + 0x38]
push 0x48ef
push eax
call fcn.1001fddb
add esp, 0xc
mov dword [esp + 0x34], ebx
jmp 0x1001cd82
push dword [esp + 0x54]
movdqa xmm0, xmmword [0x10007be0]
lea eax, [esp + 0x10c]
push eax
lea eax, [esp + 0x100]
mov dword [esp + 0x1c], ebx
push eax
mov dword [esp + 0x24], 8
lea ecx, [esp + 0x74]
mov dword [esp + 0x24], 1
push ebx
movdqu xmmword [esp + 0x108], xmm0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
call fcn.10019c7b
mov byte [esp + 0x12c], 5
mov dword [esp + 0x20], ebx
mov dword [esp + 0xc], 3
cmp dword [esp + 0xc], ebx
jl 0x1001cd56
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0x72305aba
push eax
push ebx
call fcn.1001fc4f
mov eax, dword [esp + 0x14]
pop ecx
pop ecx
cmp dword [esp + 0x28], ebx
jne 0x1001cd10
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x14], ebx
jne 0x1001cd10
mov eax, ebx
jmp 0x1001cd13
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], ebx
jne 0x1001cd2e
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x5c]
cmp dword [eax + ecx*4], ebx
jne 0x1001cd2e
mov eax, ebx
jmp 0x1001cd31
xor eax, eax
inc eax
mov ecx, dword [esp + 0x3c]
imul ecx, eax
mov eax, dword [esp + 0x74]
mov edx, dword [eax]
mov eax, dword [esp + 0x38]
sub edx, ecx
xor ecx, ecx
cmp edx, eax
setge cl
inc ecx
mov dword [esp + 0x18], ecx
dec dword [esp + 0xc]
jns 0x1001ccd7
push 0x2028
push 0x2dbc
lea edx, [esp + 0x54]
xor cl, cl
call fcn.1001c849
pop ecx
pop ecx
lea ecx, [esp + 0x68]
mov byte [esp + 0x12c], 4
call fcn.10018e75
inc dword [esp + 0x34]
cmp dword [esp + 0x34], 3
jle 0x1001cc6b
lea ecx, [esp + 0x74]
mov byte [esp + 0x12c], 3
call fcn.10018e75
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 3
jle 0x1001cb6e
lea eax, [esp + 0x58]
mov edx, 0x9b8
push eax
lea eax, [esp + 0x54]
mov cl, 1
push eax
call fcn.1001c849
pop ecx
pop ecx
lea ecx, [esp + 0xc4]
call fcn.10018e75
lea ecx, [esp + 0xd0]
call fcn.10018e75
or dword [esp + 0x12c], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.10018e75
cmp dword [edi + 0x14], 0x10
jb 0x1001cdf8
mov esi, dword [edi]
jmp 0x1001cdfa
mov esi, edi
cmp dword [edi + 0x14], 0x10
jb 0x1001ce04
mov ecx, dword [edi]
jmp 0x1001ce06
mov ecx, edi
mov eax, dword [edi + 0x10]
add eax, ecx
cmp esi, eax
je 0x1001d067
mov dword [esp + 0x18], 0xe2db58e4
lea ecx, [esp + 0x98]
push 2
call fcn.100185e1
lea eax, [esp + 0xc0]
mov dword [esp + 0x12c], 6
push eax
lea eax, [esp + 0x9c]
push eax
push ebx
push 0x2335
call fcn.100200c2
add esp, 0x10
cmp dword [esp + 0x18], ebx
je 0x1001ce71
mov byte [esp + 0x2f], bl
cmp byte [esp + 0x2f], 0
je 0x1001ce7e
push 0x382
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
jmp 0x1001ce7e
push 0x4e96
push ebx
call fcn.1001fa99
pop ecx
pop ecx
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0x98]
inc dword [eax + 4]
or dword [esp + 0x12c], 0xffffffff
call fcn.10018e75
mov al, byte [esi]
cmp al, 0x30
jl 0x1001cfb9
cmp al, 0x39
jg 0x1001cfb9
mov dword [esp + 0x10], 0xc74a
mov dword [esp + 0x18], 0x54bcd76c
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], 0xece3051e
mov dword [esp + 0x38], 0xd4431fad
mov dword [esp + 0x28], 0xf2d6273d
mov dword [esp + 0x20], 0x3ed13222
mov dword [esp + 0x14], ebx
jmp 0x1001cef8
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x40], 0xfffffffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 1
jl 0x1001cee8
cmp dword [esp + 0x10], ebx
jne 0x1001cf37
mov eax, dword [esp + 0x38]
dec dword [esp + 0x38]
test eax, eax
jne 0x1001cf16
xor ecx, ecx
inc ecx
jmp 0x1001cf18
mov ecx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
neg eax
sbb eax, eax
xor edx, edx
neg eax
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
cmp ecx, eax
setl dl
mov dword [esp + 0x40], edx
xor edx, edx
mov eax, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp ecx, eax
mov eax, 0xf260c96e
setl dl
xor ecx, ecx
sub eax, edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x24]
cmp eax, 0xfffffff8
mov eax, dword [esp + 0x18]
setne cl
add eax, 0x66197039
add eax, ecx
sub eax, dword [esp + 0x20]
neg eax
sbb eax, eax
imul ecx, dword [edx], 0xa
inc eax
mov dword [esp + 0xc], eax
movsx eax, byte [esi]
add ecx, 0xffffffd0
add eax, ecx
inc esi
mov dword [edx], eax
jmp 0x1001cdfa
push 2
lea ecx, [esp + 0x84]
call fcn.100185e1
push 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x130], 7
call fcn.100185e1
mov byte [esp + 0x12c], 8
mov dword [esp + 0x30], ebx
jmp 0x1001d004
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x80]
mov dword [eax + ecx*4], 0x862fd41e
inc dword [esp + 0x30]
cmp dword [esp + 0x30], 2
jl 0x1001cfee
lea eax, [esp + 0xa4]
push eax
push ebx
lea eax, [esp + 0x38]
push eax
push 0x3409
push 0x24e5
call fcn.1001f9f2
add esp, 0x14
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xa8]
push ebx
push eax
call fcn.1001d375
add esp, 0xc
lea ecx, [esp + 0xa4]
call fcn.10018e75
lea ecx, [esp + 0x80]
call fcn.10018e75
mov eax, dword [esp + 0x24]
mov dword [eax], ebx
jmp 0x1001c893
push 3
xor ecx, ecx
pop edx
mov dword [esp + 0xc], edx
inc ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], 0x4af7bdd4
mov dword [esp + 0x24], 0xfffffff6
mov dword [esp + 0x20], 0x14f16367
mov dword [esp + 0x14], ebx
jmp 0x1001d0a6
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x8c], ecx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x1001d097
mov ecx, dword [esp + 0x94]
xor edx, edx
mov eax, dword [esp + 0xc]
cmp eax, ecx
setle dl
xor eax, eax
inc eax
sub eax, edx
cmp eax, 0xffffffff
jl 0x1001d0f7
mov dword [esp + 0x44], 0x81d21f1e
mov dword [esp + 0xc], 5
jmp 0x1001d0eb
lea eax, [esp + 0x44]
push ebx
push eax
call fcn.1002036b
dec dword [esp + 0x14]
pop ecx
pop ecx
cmp dword [esp + 0xc], 0xfffffff4
jle 0x1001d0da
jmp 0x1001d1cc
mov dword [esp + 0x14], 0x333c7d24
mov dword [esp + 0xc], 0xf
jmp 0x1001d1c1
xor eax, eax
xor ecx, ecx
inc eax
mov dword [esp + 0x28], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
setl cl
xor edx, edx
imul ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x14]
cmp ecx, eax
setg dl
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x94]
sub edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0x881
setge cl
xor eax, eax
cmp edx, ecx
setge al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [esp + 0x14]
sub ecx, dword [esp + 0x18]
add ecx, dword [esp + 0x28]
je 0x1001d1b4
cmp dword [esp + 0x14], ebx
je 0x1001d1b4
xor eax, eax
inc eax
jmp 0x1001d1b6
mov eax, ebx
mov dword [esp + 0xb4], eax
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffff7
jl 0x1001d10c
mov al, 1
mov ecx, dword [esp + 0x124]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret