Function at 0x1001b630
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x100a0f80]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x8c], 0
lea eax, [ebp - 0x124]
push eax
call fcn.1001c330
add esp, 4
lea ecx, [ebp - 0x8d]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
push edx
lea ecx, [ebp - 0x128]
call fcn.10016eb0
push eax
lea ecx, [ebp - 0x148]
call fcn.10016dc0
nop
mov dword [ebp - 0x84], 0
jmp 0x1001b6a2
mov eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
mov ecx, dword [edx + 4]
sub ecx, dword [eax]
mov eax, ecx
cdq
mov ecx, 0x18
idiv ecx
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
cmp dword [ebp - 0x84], edx
jae 0x1001b811
mov dword [ebp - 0x110], 0x100a3078
lea eax, [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x110]
call fcn.1001cf70
xor ecx, ecx
mov byte [ebp - 0x8e], cl
jmp 0x1001b713
lea ecx, [ebp - 0x94]
call fcn.1000e2e0
nop
mov edx, dword [ebp - 0x94]
movsx eax, byte [edx + 0xd]
test eax, eax
jne 0x1001b72d
mov dword [ebp - 0x9c], 1
jmp 0x1001b737
mov dword [ebp - 0x9c], 0
mov cl, byte [ebp - 0x9c]
mov byte [ebp - 0x7d], cl
movzx edx, byte [ebp - 0x7d]
test edx, edx
je 0x1001b80c
mov eax, dword [ebp - 0x94]
add eax, 0x10
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x118]
mov dword [ebp - 0xa0], edx
lea eax, [ebp - 0x124]
mov dword [ebp - 0xb4], eax
imul ecx, dword [ebp - 0x84], 0x18
mov edx, dword [ebp - 0xb4]
add ecx, dword [edx]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebp - 0xa0]
add eax, 0x18
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
lea edx, [ebp - 0x4c]
push edx
call fcn.1000b740
add esp, 0xc
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xbc]
call fcn.100062a0
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x4c]
call fcn.10006840
nop
cmp dword [ebp - 0xc4], 0
je 0x1001b807
mov ecx, dword [ebp - 0xa0]
push ecx
lea edx, [ebp - 0x150]
push edx
lea ecx, [ebp - 0x148]
call fcn.10016c40
nop
jmp 0x1001b707
jmp 0x1001b693
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
cmp dword [ebp - 0xcc], 0
jne 0x1001b86d
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0xd0], edx
lea ecx, [ebp - 0x13c]
call fcn.10014a90
nop
lea ecx, [ebp - 0x144]
call fcn.100192c0
nop
lea ecx, [ebp - 0x124]
call fcn.1001ce60
nop
mov eax, dword [ebp - 0xd0]
jmp 0x1001baa1
mov dword [ebp - 0x8c], 1
lea eax, [ebp - 0x1c]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
call fcn.10007bd0
nop
lea ecx, [ebp - 0x1c]
call fcn.100061b0
nop
lea ecx, [ebp - 0x148]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
mov dword [ebp - 0xd8], ecx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], edx
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe8], edx
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
mov dword [ebp - 0xf0], edx
jmp 0x1001b91d
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x88]
cmp edx, dword [ebp - 0xf0]
jne 0x1001b937
mov dword [ebp - 0xa8], 1
jmp 0x1001b941
mov dword [ebp - 0xa8], 0
mov al, byte [ebp - 0xa8]
mov byte [ebp - 0x7e], al
movzx ecx, byte [ebp - 0x7e]
test ecx, ecx
jne 0x1001b95e
mov dword [ebp - 0xac], 1
jmp 0x1001b968
mov dword [ebp - 0xac], 0
mov dl, byte [ebp - 0xac]
mov byte [ebp - 0x7f], dl
movzx eax, byte [ebp - 0x7f]
test eax, eax
je 0x1001b9f3
mov ecx, dword [ebp - 0x88]
add ecx, 8
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xb0], edx
push str._has_been_detected.
mov eax, dword [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x64]
push ecx
call fcn.10016420
add esp, 0xc
push eax
lea ecx, [ebp - 0x1c]
call fcn.10017740
lea ecx, [ebp - 0x64]
call fcn.10006780
nop
mov ecx, dword [ebp - 0xb0]
call fcn.10006250
xor edx, edx
shl edx, 0
add eax, edx
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
movsx ecx, byte [eax]
cmp ecx, 0x21
jne 0x1001b9ee
mov dword [ebp - 0x8c], 2
jmp 0x1001b90f
movzx edx, byte [0x100a30b1]
test edx, edx
jne 0x1001ba62
mov byte [0x100a30b1], 1
push 0x1007aef0
lea ecx, [ebp - 0x34]
call fcn.100041e0
mov dword [ebp - 0xfc], 0
lea eax, [ebp - 0x34]
push eax
call fcn.10004b10
add esp, 4
mov dword [ebp - 0x100], eax
lea ecx, [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x100]
push edx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x7c]
push edx
call fcn.10005920
add esp, 0x14
lea ecx, [ebp - 0x34]
call fcn.10006780
nop
lea ecx, [ebp - 0x7c]
call fcn.10006780
nop
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x104], eax
lea ecx, [ebp - 0x1c]
call fcn.10006780
nop
lea ecx, [ebp - 0x13c]
call fcn.10014a90
nop
lea ecx, [ebp - 0x144]
call fcn.100192c0
nop
lea ecx, [ebp - 0x124]
call fcn.1001ce60
nop
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003a6b5
mov esp, ebp
pop ebp
ret