Function at 0x411a80
Capabilities:
Check if file exists
Copy file
Create directory
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x693402
mov eax, dword fs:[0]
push eax
sub esp, 0x1cc
mov eax, dword [0x75d580]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
lea ecx, [ebp - 0x128]
call fcn.0040aef0
mov esi, bind
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x118]
mov eax, esi
sub eax, ecx
cmp eax, 6
jb 0x41201e
cmp dword [ebp - 0x114], 7
lea eax, [ebp - 0x128]
push 6
cmova eax, dword [ebp - 0x128]
push 0x73640c
push ecx
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x158]
call fcn.00402140
mov byte [ebp - 4], 1
lea eax, [ebp - 0x158]
cmp dword [ebp - 0x144], 7
cmova eax, dword [ebp - 0x158]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x411b8c
cmp dword [ebp - 0x144], 7
lea eax, [ebp - 0x158]
push 0
cmova eax, dword [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x411b8c
push 0x100
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0053fb70
add esp, 0xc
lea eax, [ebp - 0x110]
push 0x73641c
push 0xff
push eax
call fcn.004111a0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [ebp - 0x1d0]
call fcn.0040b640
mov edx, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x140]
call fcn.0040aef0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1bc]
cmp ecx, 7
jbe 0x411bec
mov edx, dword [ebp - 0x1d0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411be2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412019
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x130]
xor eax, eax
mov word [ebp - 0x1d0], ax
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 7
cmp eax, 0x11
jb 0x41201e
cmp dword [ebp - 0x12c], 7
lea eax, [ebp - 0x140]
push 0x11
cmova eax, dword [ebp - 0x140]
push str.configcache.json
push ecx
push eax
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1b8]
call fcn.00402140
mov byte [ebp - 4], 5
mov eax, esi
mov ecx, dword [ebp - 0x130]
sub eax, ecx
cmp eax, 0x12
jb 0x41201e
cmp dword [ebp - 0x12c], 7
lea eax, [ebp - 0x140]
push 0x12
cmova eax, dword [ebp - 0x140]
push str.configclient.json
push ecx
push eax
lea eax, [ebp - 0x140]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1a0]
call fcn.00402140
mov byte [ebp - 4], 6
mov eax, esi
mov ecx, dword [ebp - 0x118]
sub eax, ecx
cmp eax, 0x11
jb 0x41201e
cmp dword [ebp - 0x114], 7
lea eax, [ebp - 0x128]
push 0x11
cmova eax, dword [ebp - 0x128]
push str.configcache.json
push ecx
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x188]
call fcn.00402140
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x118]
sub esi, ecx
cmp esi, 0x12
jb 0x41201e
cmp dword [ebp - 0x114], 7
lea eax, [ebp - 0x128]
push 0x12
cmova eax, dword [ebp - 0x128]
push str.configclient.json
push ecx
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x170]
call fcn.00402140
cmp dword [ebp - 0x174], 7
lea ecx, [ebp - 0x188]
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [ebp - 0x1b8]
cmova ecx, dword [ebp - 0x188]
cmp dword [ebp - 0x1a4], 7
push 0
cmova eax, dword [ebp - 0x1b8]
push ecx
push eax
call esi
cmp dword [ebp - 0x15c], 7
lea ecx, [ebp - 0x170]
push 0
cmova ecx, dword [ebp - 0x170]
lea eax, [ebp - 0x1a0]
cmp dword [ebp - 0x18c], 7
push ecx
cmova eax, dword [ebp - 0x1a0]
push eax
call esi
mov ecx, dword [ebp - 0x15c]
cmp ecx, 7
jbe 0x411dd5
mov edx, dword [ebp - 0x170]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411dcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x174]
xor eax, eax
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 7
mov word [ebp - 0x170], ax
cmp ecx, 7
jbe 0x411e32
mov edx, dword [ebp - 0x188]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411e28
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x18c]
xor eax, eax
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 7
mov word [ebp - 0x188], ax
cmp ecx, 7
jbe 0x411e8f
mov edx, dword [ebp - 0x1a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411e85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x1a4]
xor eax, eax
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 7
mov word [ebp - 0x1a0], ax
cmp ecx, 7
jbe 0x411eec
mov edx, dword [ebp - 0x1b8]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411ee2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x12c]
xor eax, eax
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 7
mov word [ebp - 0x1b8], ax
cmp ecx, 7
jbe 0x411f49
mov edx, dword [ebp - 0x140]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411f3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x144]
xor eax, eax
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 7
mov word [ebp - 0x140], ax
cmp ecx, 7
jbe 0x411fa6
mov edx, dword [ebp - 0x158]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411f9c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0x114]
xor eax, eax
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 7
mov word [ebp - 0x158], ax
cmp ecx, 7
jbe 0x411fff
mov edx, dword [ebp - 0x128]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x411ff5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412023
push ecx
push edx
call fcn.0048a4f6
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048a267
mov esp, ebp
pop ebp
ret
call fcn.00543627
call fcn.00401460
call fcn.00543627
int3