Function at 0x1003cc50
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f9ec3
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x1014f644]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [ebp - 0xc8], ebx
lea eax, [ebp - 0xb9]
mov edi, ecx
push eax
lea esi, [ebp - 0xc0]
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
mov byte [ebp - 0xb9], bl
call fcn.1003aad0
add esp, 4
test al, al
je 0x1003cfdb
mov eax, dword [ebp - 0xc4]
cmp eax, 6
ja 0x1003ccdb
jne 0x1003cfdb
cmp dword [ebp - 0xc0], 1
jb 0x1003cfdb
mov ecx, edi
lea esi, [ebp - 0x80]
call fcn.1003ac20
sub esp, 0x1c
mov dword [ebp - 4], ebx
mov ecx, esp
mov dword [ebp - 0xc0], esp
push 0xd
mov esi, 0xf
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FunKnight.dll
mov byte [ecx], bl
call fcn.100071e0
lea edi, [ebp - 0x9c]
lea edx, [ebp - 0x80]
mov byte [ebp - 4], 1
call fcn.100410c0
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.10041220
mov edi, 0x10
mov byte [ebp - 4], 5
cmp dword [ebp - 0x88], edi
jb 0x1003cd4f
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.100719b6
add esp, 4
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x8c], ebx
mov byte [ebp - 0x9c], bl
cmp dword [ebp - 0x1c], ebx
je 0x1003cdd0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x1003cd71
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
setne al
cmp al, bl
je 0x1003cdd0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], edi
jae 0x1003cd8c
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsDirectoryA]
test eax, eax
jne 0x1003cdd0
lea edx, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x2c]
call fcn.1003b3d0
add esp, 4
mov byte [ebp - 4], 6
mov ecx, dword [eax + 0x10]
mov edi, 8
mov dword [ebp - 0xc8], 1
call fcn.1003d7f0
mov edi, 0x10
mov byte [ebp - 0xb9], bl
test eax, eax
je 0x1003cdd7
mov byte [ebp - 0xb9], 1
mov dword [ebp - 4], 5
test byte [ebp - 0xc8], 1
je 0x1003cdf9
cmp dword [ebp - 0x34], 8
jb 0x1003cdf9
mov eax, dword [ebp - 0x48]
push eax
call fcn.100719b6
add esp, 4
cmp byte [ebp - 0xb9], bl
je 0x1003ce2d
cmp dword [ebp - 0x18], edi
jb 0x1003ce12
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.100719b6
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
cmp dword [ebp - 0x6c], edi
jb 0x1003cfdb
mov edx, dword [ebp - 0x80]
push edx
jmp 0x1003cfd3
lea eax, [ebp - 0x170]
push eax
call fcn.10001ca0
lea eax, [ebp - 0xb8]
lea edx, [ebp - 0x80]
mov byte [ebp - 4], 7
call fcn.10040fe0
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 8
call fcn.10041e30
mov esi, eax
lea ecx, [ebp - 0x64]
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.10040fc0
push esi
push ecx
push str.___pull_name
push ecx
push str.__startup
push ecx
push eax
push ecx
lea ecx, [ebp - 0x160]
push str.rundll32.exe__
push ecx
mov byte [ebp - 4], 0xa
call fcn.1000c360
add esp, 0xc
push eax
call fcn.1003d550
add esp, 0xc
push eax
call fcn.1000c360
add esp, 0xc
push eax
call fcn.1000c360
add esp, 0xc
push eax
call fcn.1003d550
mov edi, 8
add esp, 8
cmp dword [ebp - 0x50], edi
jb 0x1003ceca
mov edx, dword [ebp - 0x64]
push edx
call fcn.100719b6
add esp, 4
xor eax, eax
mov esi, 7
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], ax
cmp dword [ebp - 0x34], edi
jb 0x1003ceec
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.100719b6
add esp, 4
xor edx, edx
mov byte [ebp - 4], 7
cmp dword [ebp - 0xa4], 0x10
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], dx
jb 0x1003cf14
mov eax, dword [ebp - 0xb8]
push eax
call fcn.100719b6
add esp, 4
mov dword [ebp - 0x50], esi
xor ecx, ecx
push ebx
mov eax, 0x1012f5d8
lea esi, [ebp - 0x64]
mov dword [ebp - 0x54], ebx
mov word [ebp - 0x64], cx
call fcn.10006bc0
lea esi, [ebp - 0x48]
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 0xb
call fcn.10001dd0
lea edi, [ebp - 0x64]
call fcn.1003cba0
mov esi, 8
cmp dword [ebp - 0x34], esi
jb 0x1003cf5e
mov edx, dword [ebp - 0x48]
push edx
call fcn.100719b6
add esp, 4
xor eax, eax
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
cmp dword [ebp - 0x50], esi
jb 0x1003cf7f
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.100719b6
add esp, 4
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 5
call fcn.10001d40
lea edx, [ebp - 0x110]
push edx
mov dword [ebp - 0x110], vtable.std::ios_base.0
call fcn.1006e8b0
mov esi, 0x10
add esp, 4
cmp dword [ebp - 0x18], esi
jb 0x1003cfbd
mov eax, dword [ebp - 0x2c]
push eax
call fcn.100719b6
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
cmp dword [ebp - 0x6c], esi
jb 0x1003cfdb
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.100719b6
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100719c1
mov esp, ebp
pop ebp
ret