Function at 0x46d430
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58bdec
mov eax, dword fs:[0]
push eax
sub esp, 0x37c
mov eax, dword [0x5ea6c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2e4], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp + 8], 3
mov dword [ebp - 4], 0
jne 0x46dd37
cmp dword [ebp + 0x20], 0
je 0x46dd37
sub esp, 0x18
lea eax, [ebp + 0x10]
mov esi, esp
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp + 0x24], 0x10
mov ecx, dword [ebp + 0x20]
cmovae eax, dword [ebp + 0x10]
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2f0], eax
cmp ecx, 0x10
jae 0x46d4cb
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 0xf
jmp 0x46d544
mov edi, ecx
mov eax, SysReAllocString
or edi, 0xf
cmp edi, eax
cmova edi, eax
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x46d50c
lea eax, [ecx + 0x23]
or edx, 0xffffffff
cmp eax, ecx
cmovbe eax, edx
push eax
call fcn.0051235c
add esp, 4
test eax, eax
je 0x46dd96
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x46d51f
test ecx, ecx
je 0x46d51d
push ecx
call fcn.0051235c
add esp, 4
mov ecx, eax
jmp 0x46d51f
xor ecx, ecx
mov eax, dword [ebp - 0x2e8]
inc eax
mov dword [esi], ecx
push eax
push dword [ebp - 0x2f0]
push ecx
call fcn.00552be0
mov eax, dword [ebp - 0x2e8]
add esp, 0xc
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edi
lea eax, [ebp - 0x2dc]
push eax
call fcn.0042cac0
add esp, 0x1c
cmp dword [ebp - 0x2c8], 0x10
lea eax, [ebp - 0x2dc]
mov byte [ebp - 4], 1
cmovae eax, dword [ebp - 0x2dc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x46d586
lea ecx, [ebp - 0x2dc]
call fcn.00408b80
jmp 0x46dd37
push 0x208
lea eax, [ebp - 0x27c]
push 0
push eax
call fcn.005536e0
mov edi, dword [ebp - 0x2cc]
lea esi, [ebp - 0x2dc]
add esp, 0xc
cmp dword [ebp - 0x2c8], 0x10
cmovae esi, dword [ebp - 0x2dc]
cmp edi, 0x7ffffffe
ja 0x46d5f4
lea ecx, [ebp - 0x27c]
mov edx, 0x208
mov eax, ecx
sub esi, eax
nop dword [eax]
lea eax, [edi - 0x208]
add eax, edx
je 0x46d5e9
mov al, byte [esi + ecx]
test al, al
je 0x46d5e9
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x46d5d0
test edx, edx
lea eax, [ecx - 1]
cmovne eax, ecx
mov byte [eax], 0
lea eax, [ebp - 0x27c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
call fcn.0047f3e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x46d8dd
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_security_security_mainmainwnd.cpp
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], al
call fcn.0040e990
push 3
push 0x597c7c
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 2
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], 0
call fcn.0040e990
push 1
push 2
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 3
call fcn.00415ab0
push 0xffffffffffffffff
push 0x597bb8
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 4
call fcn.0040f9e0
push 0xffffffffffffffff
push 0x597bbc
lea ecx, [ebp - 0x2ac]
mov edi, eax
call fcn.0040f9e0
push 0x64
mov esi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005536e0
add esp, 0xc
cmp esi, 0xffffffff
je 0x46d7b6
lea eax, [esi - 1]
cmp edi, eax
jae 0x46d7b6
mov eax, dword [ebp - 0x29c]
lea edx, [edi + 1]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
cmp eax, edx
jb 0x46dd91
sub esi, edi
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x298], 0x10
lea eax, [ebp - 0x2ac]
cmovae eax, dword [ebp - 0x2ac]
push ecx
add eax, edx
lea ecx, [ebp - 0x2c4]
push eax
call fcn.0040e990
cmp dword [ebp - 0x2b0], 0x10
lea eax, [ebp - 0x2c4]
cmovae eax, dword [ebp - 0x2c4]
push eax
push 0x5c8
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.00407e40
mov edx, dword [ebp - 0x2b0]
add esp, 0x10
cmp edx, 0x10
jb 0x46d799
mov ecx, dword [ebp - 0x2c4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46d78f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46dd96
push edx
push ecx
call fcn.0051238c
add esp, 8
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
jmp 0x46d7cc
push 0x5c8
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.00407e40
add esp, 0xc
cmp dword [ebp - 0x280], 0x10
lea eax, [ebp - 0x294]
cmovae eax, dword [ebp - 0x294]
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00409170
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00409170
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 5
push str.path:
push eax
call fcn.00409170
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00409170
add esp, 0x20
call fcn.0047f3e0
lea ecx, [ebp - 0x388]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x388]
call fcn.00409700
mov edx, dword [ebp - 0x280]
mov byte [ebp - 4], 2
cmp edx, 0x10
jb 0x46d884
mov ecx, dword [ebp - 0x294]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46d87a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46dd9b
push edx
push ecx
call fcn.0051238c
add esp, 8
mov edx, dword [ebp - 0x298]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], 0
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x46d8dd
mov ecx, dword [ebp - 0x2ac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46d8d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46dda0
push edx
push ecx
call fcn.0051238c
add esp, 8
push 0
lea eax, [ebp - 0x27c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
mov esi, eax
test esi, esi
jle 0x46d8ff
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x46da4c
mov edi, dword [ebp - 0x2e4]
mov ecx, dword [edi + 0xc84]
call fcn.0043a020
push dword [ebp + 0x28]
mov ecx, eax
push dword [ebp - 0x2ec]
call fcn.004427c0
test eax, eax
jne 0x46dcfd
call fcn.0047f3e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x46da1d
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_security_security_mainmainwnd.cpp
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], al
call fcn.0040e990
push 3
push 0x597c7c
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 6
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
call fcn.0040e990
push 0x5d2
lea eax, [ebp - 0x294]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x388]
call fcn.004080a0
mov esi, eax
push str.retry_resotre_suc__delete_it_from_quarantine__path:
push esi
mov byte [ebp - 4], 8
call fcn.004062f0
cmp dword [ebp + 0x24], 0x10
lea ecx, [ebp + 0x10]
cmovae ecx, dword [ebp + 0x10]
push ecx
push esi
call fcn.00409170
add esp, 0x10
call fcn.0047f3e0
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x388]
call fcn.00409700
lea ecx, [ebp - 0x2ac]
call fcn.00408b80
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 1
call fcn.00408b80
mov ecx, dword [edi + 0xc84]
call fcn.0043a020
push dword [ebp - 0x2ec]
mov ecx, eax
call fcn.00442340
lea ecx, [ebp - 0x2dc]
call fcn.00408b80
mov byte [ebp - 0x2dd], 1
jmp 0x46dd3e
call fcn.0047f3e0
push 1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
movzx eax, al
sub eax, 1
jne 0x46dcfd
push 0x46
push str.d:jenkins.jenkinsworkspacemgame_security_security_mainmainwnd.cpp
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], 0xf
mov byte [ebp - 0x294], al
call fcn.0040e990
push 3
push 0x597c7c
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 9
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
call fcn.0040e990
push 1
push 2
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0xa
call fcn.00415ab0
push 0xffffffffffffffff
push 0x597bb8
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 0xb
call fcn.0040f9e0
push 0xffffffffffffffff
push 0x597bbc
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x2e4], eax
call fcn.0040f9e0
push 0x64
mov edi, eax
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.005536e0
add esp, 0xc
cmp edi, 0xffffffff
je 0x46dbc1
mov ecx, dword [ebp - 0x2e4]
lea eax, [edi - 1]
cmp ecx, eax
jae 0x46dbc1
mov eax, dword [ebp - 0x284]
lea edx, [ecx + 1]
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0xf
mov byte [ebp - 0x2c4], 0
cmp eax, edx
jb 0x46dda5
sub edi, ecx
sub eax, edx
lea ecx, [edi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x280], 0x10
lea eax, [ebp - 0x294]
cmovae eax, dword [ebp - 0x294]
push ecx
add eax, edx
lea ecx, [ebp - 0x2c4]
push eax
call fcn.0040e990
cmp dword [ebp - 0x2b0], 0x10
lea eax, [ebp - 0x2c4]
cmovae eax, dword [ebp - 0x2c4]
push eax
push 0x5d9
lea eax, [ebp - 0x74]
push str.__4d___s_
push eax
call fcn.00407e40
add esp, 0x10
lea ecx, [ebp - 0x2c4]
call fcn.00408b80
jmp 0x46dbd7
push 0x5d9
lea eax, [ebp - 0x74]
push str.__4d_
push eax
call fcn.00407e40
add esp, 0xc
cmp dword [ebp - 0x298], 0x10
lea eax, [ebp - 0x2ac]
cmovae eax, dword [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00409170
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00409170
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0xc
push str.CreateDirectory_failed_
push eax
call fcn.00409170
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x388]
push eax
call fcn.00409170
lea eax, [ebp - 0x388]
push str._error:
push eax
call fcn.004062f0
add esp, 0x28
lea ecx, [ebp - 0x388]
push esi
call fcn.004245b0
call fcn.0047f3e0
lea ecx, [ebp - 0x388]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x1c]
lea ecx, [ebp - 0x388]
call fcn.00409700
mov edx, dword [ebp - 0x298]
cmp edx, 0x10
jb 0x46dca8
mov ecx, dword [ebp - 0x2ac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46dc9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ddaa
push edx
push ecx
call fcn.0051238c
add esp, 8
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0xf
mov byte [ebp - 0x2ac], 0
cmp edx, 0x10
jb 0x46dcfd
mov ecx, dword [ebp - 0x294]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46dcf3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ddaf
push edx
push ecx
call fcn.0051238c
add esp, 8
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x46dd37
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46dd2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ddb4
push edx
push ecx
call fcn.0051238c
add esp, 8
mov byte [ebp - 0x2dd], 0
mov edx, dword [ebp + 0x24]
cmp edx, 0x10
jb 0x46dd6e
mov ecx, dword [ebp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x46dd64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46ddb9
push edx
push ecx
call fcn.0051238c
add esp, 8
mov al, byte [ebp - 0x2dd]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00512634
mov esp, ebp
pop ebp
ret 0x24
call fcn.0040e3b0
call fcn.00556b30
call fcn.00556b30
call fcn.00556b30
call fcn.0040e3b0
call fcn.00556b30
call fcn.00556b30
call fcn.00556b30
call fcn.00556b30
int3