Function at 0x456f38
Capabilities:
Create directory
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x456f40
push ecx
push ebx
push esi
push edi
mov eax, 0x456d58
call fcn.004067d8
xor eax, eax
push ebp
push 0x4576f7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4591a8]
mov eax, dword [eax]
call fcn.004540ac
mov eax, dword [0x4591a8]
mov eax, dword [eax]
mov edx, 0x457710
call fcn.00453cac
mov eax, dword [0x4591a8]
mov eax, dword [eax]
call fcn.00454144
lea edx, [ebp - 0x18]
mov eax, 0x457724
call fcn.00456170
mov edx, dword [ebp - 0x18]
mov eax, 0x45ac10
call fcn.00404910
lea edx, [ebp - 0x20]
mov eax, dword [0x4591a8]
mov eax, dword [eax]
call fcn.00454804
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.00409048
mov edx, dword [ebp - 0x1c]
mov eax, 0x45ac18
mov ecx, 0x457734
call fcn.00404bc8
lea edx, [ebp - 0x24]
mov eax, 0x457748
call fcn.00456170
mov edx, dword [ebp - 0x24]
mov eax, 0x45ac28
mov ecx, 0x457758
call fcn.00404bc8
mov edx, dword [0x45ac28]
mov eax, dword [0x45ac10]
call fcn.00429ca8
test al, al
jne 0x457068
push dword [0x45ac10]
push 0x457770
push dword [0x45ac28]
mov eax, 0x45ac10
mov edx, 3
call fcn.00404c3c
mov edx, dword [0x45ac10]
mov eax, 0x457724
call fcn.00456380
push 0
mov cx, word [0x457774]
mov dl, 3
mov eax, 0x457780
call fcn.0042876c
dec eax
jne 0x45705c
mov eax, 6
call fcn.00456838
jmp 0x4576d9
mov eax, dword [0x4591a8]
mov eax, dword [eax]
call fcn.00454230
xor eax, eax
push ebp
push 0x4576c6
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x45ac28]
call fcn.00408ea0
test al, al
jne 0x457096
push 0
mov eax, dword [0x45ac28]
call fcn.00404d7c
push eax
call sub.kernel32.dll_CreateDirectoryA
mov dword [0x45ad94], 9
mov ebx, 0x458e9c
mov ecx, dword [ebx]
lea eax, [ebp - 0x28]
mov edx, dword [0x45ac28]
call fcn.00404bc8
mov eax, dword [ebp - 0x28]
call fcn.00408e90
test al, al
jne 0x4570d5
lea edx, [ebp - 0x2c]
mov eax, dword [ebx]
call fcn.00455f8c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebx]
call fcn.00456614
add ebx, 4
dec dword [0x45ad94]
jne 0x4570a5
mov eax, dword [0x45ac18]
call fcn.00408e90
test al, al
je 0x457655
mov ecx, dword [0x45ac18]
mov dl, 1
mov eax, dword [0x429fa8]
call fcn.0042a058
mov dword [0x45ac38], eax
mov dword [0x45ad94], 8
mov dword [ebp - 0x14], 0x458e80
push 0
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
mov edx, 0x457800
mov eax, dword [0x45ac38]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x30]
mov edx, 0x457770
call fcn.00455d6c
mov dword [0x45ac0c], eax
mov eax, dword [0x45ac0c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x457221
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x34]
mov edx, ebx
mov eax, dword [0x45ac0c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x34]
mov edx, dword [0x459220]
mov edx, dword [edx]
call fcn.00404cc8
je 0x457219
lea ecx, [ebp - 0x38]
mov edx, ebx
mov eax, dword [0x45ac0c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x38]
call fcn.00408ea0
test al, al
jne 0x457219
mov eax, dword [0x45ac34]
mov edx, dword [0x459220]
mov edx, dword [edx]
call fcn.00404cc8
jne 0x4571e3
mov eax, dword [ebp - 0x14]
push dword [eax]
push 0x457814
lea ecx, [ebp - 0x3c]
mov edx, ebx
mov eax, dword [0x45ac0c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x3c]
push 0x457820
mov eax, 0x45ac34
mov edx, 4
call fcn.00404c3c
jmp 0x457219
push dword [0x45ac34]
mov eax, dword [ebp - 0x14]
push dword [eax]
push 0x457814
lea ecx, [ebp - 0x40]
mov edx, ebx
mov eax, dword [0x45ac0c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x40]
push 0x457820
mov eax, 0x45ac34
mov edx, 5
call fcn.00404c3c
inc ebx
dec esi
jne 0x45715d
add dword [ebp - 0x14], 4
dec dword [0x45ad94]
jne 0x45711a
mov eax, dword [0x45ac34]
mov edx, dword [0x459220]
mov edx, dword [edx]
call fcn.00404cc8
je 0x457281
push 0
lea eax, [ebp - 0x44]
mov ecx, dword [0x45ac34]
mov edx, 0x45782c
call fcn.00404bc8
mov eax, dword [ebp - 0x44]
mov cx, word [0x45788c]
xor edx, edx
call fcn.0042876c
mov eax, dword [0x4591a8]
mov eax, dword [eax]
call fcn.00454230
call fcn.0040437c
jmp 0x4576d9
push 0
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x457898
mov edx, 0x457800
mov eax, dword [0x45ac38]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x48]
mov eax, 0x45ac1c
call fcn.00404910
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x4578ac
mov edx, 0x457800
mov eax, dword [0x45ac38]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x4c]
mov eax, 0x45ac20
call fcn.00404910
cmp dword [0x45ac20], 0
je 0x4573ab
mov edx, dword [0x45ac1c]
mov eax, dword [0x45ac20]
call fcn.004568dc
lea eax, [ebp - 0x50]
mov ecx, 0x4578c8
mov edx, dword [0x45ac20]
call fcn.00404bc8
mov eax, dword [ebp - 0x50]
mov ecx, 0x45ac3c
mov edx, 0x10
call fcn.00408f30
test eax, eax
jne 0x4573ab
mov eax, dword [0x45ac44]
and eax, 0x10
cmp eax, 0x10
jne 0x45738f
mov eax, dword [0x45ac48]
mov edx, 0x4578d4
call fcn.00404cc8
je 0x45738f
mov eax, dword [0x45ac48]
mov edx, 0x4578e0
call fcn.00404cc8
je 0x45738f
push dword [0x45ac1c]
push dword [0x45ac48]
push 0x4578ec
lea eax, [ebp - 0x54]
mov edx, 3
call fcn.00404c3c
mov eax, dword [ebp - 0x54]
push eax
push dword [0x45ac20]
push dword [0x45ac48]
push 0x4578ec
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00404c3c
mov eax, dword [ebp - 0x58]
pop edx
call fcn.004568dc
mov eax, 0x45ac3c
call fcn.00408f80
test eax, eax
je 0x457317
mov eax, 0x45ac3c
call fcn.00408fa4
mov ecx, 0x4578f8
mov edx, 0x457904
mov eax, 0x45791c
call fcn.00456264
lea ecx, [ebp - 0x5c]
mov edx, 0x457954
mov eax, 0x457968
call fcn.00456050
mov edx, dword [ebp - 0x5c]
mov eax, 0x45ac14
call fcn.00404910
mov eax, 0x45ac24
mov edx, dword [0x459220]
mov edx, dword [edx]
call fcn.00404910
mov dword [0x45ad94], 5
mov ebx, 0x458ec0
mov esi, 0x458ed4
mov eax, dword [ebx]
mov edx, dword [0x45ac14]
call fcn.00404cc8
jne 0x45741f
mov eax, 0x45ac24
mov edx, dword [esi]
call fcn.00404910
add esi, 4
add ebx, 4
dec dword [0x45ad94]
jne 0x457404
mov eax, dword [0x45ac24]
mov edx, dword [0x459220]
mov edx, dword [edx]
call fcn.00404cc8
jne 0x457451
mov eax, 0x45ac24
mov edx, dword [0x458ed4]
call fcn.00404910
lea eax, [ebp - 0x60]
mov ecx, dword [0x45ac24]
mov edx, dword [0x45ac1c]
call fcn.00404bc8
mov eax, dword [ebp - 0x60]
call fcn.00408e90
test al, al
jne 0x4574ac
push 0
push 0x457988
push dword [0x45ac24]
push 0x45799c
push dword [0x45ac1c]
lea eax, [ebp - 0x64]
mov edx, 4
call fcn.00404c3c
mov eax, dword [ebp - 0x64]
mov cx, word [0x45788c]
xor edx, edx
call fcn.0042876c
jmp 0x4576a4
xor eax, eax
push ebp
push 0x45760c
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x68]
mov ecx, 0x4579c4
mov edx, dword [0x45ac1c]
call fcn.00404bc8
mov eax, dword [ebp - 0x68]
call fcn.00408e90
test al, al
jne 0x4574ee
mov ecx, 0x4579c4
mov edx, dword [0x45ac1c]
mov eax, 0x4579dc
call fcn.0045672c
push 0
lea eax, [ebp - 0x6c]
push eax
mov ecx, 0x4579ec
mov edx, 0x457800
mov eax, dword [0x45ac38]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x6c]
mov eax, 0x45ac2c
call fcn.00404910
push 0
lea eax, [ebp - 0x70]
push eax
mov ecx, 0x457a04
mov edx, 0x457800
mov eax, dword [0x45ac38]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x70]
mov eax, 0x45ac30
call fcn.00404910
push 0
mov ecx, 0x457a18
mov edx, 0x457800
mov eax, dword [0x45ac38]
mov ebx, dword [eax]
call dword [ebx + 8]
mov ebx, eax
mov eax, dword [0x45ac2c]
mov edx, 0x457a30
call fcn.00404cc8
je 0x457596
push 0
push dword [0x45ac1c]
push 0x457a3c
push 0x457a54
push dword [0x45ac2c]
lea eax, [ebp - 0x74]
mov edx, 4
call fcn.00404c3c
mov eax, dword [ebp - 0x74]
call fcn.00404d7c
push eax
call sub.kernel32.dll_WinExec
cmp dword [0x45ac30], 0
je 0x4575c6
test ebx, ebx
jle 0x4575c6
push 0
lea eax, [ebp - 0x78]
mov ecx, 0x457a60
mov edx, dword [0x45ac1c]
call fcn.00404bc8
mov eax, dword [ebp - 0x78]
call fcn.00404d7c
push eax
call sub.kernel32.dll_WinExec
push 0
push 0x457a84
push dword [0x45ac18]
push 0x457a54
push dword [0x45ac1c]
push dword [0x45ac24]
lea eax, [ebp - 0x7c]
mov edx, 5
call fcn.00404c3c
mov eax, dword [ebp - 0x7c]
call fcn.00404d7c
push eax
call sub.kernel32.dll_WinExec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4576a4
push 0
lea edx, [ebp - 0x8c]
mov eax, dword [0x4591a8]
mov eax, dword [eax]
call fcn.00454804
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x88]
call fcn.00409048
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
mov edx, 0x457acc
call fcn.00404bc8
mov eax, dword [ebp - 0x84]
mov cx, word [0x45788c]
xor edx, edx
call fcn.0042876c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4576cd
mov eax, dword [0x45ac0c]
call fcn.00403b30
mov eax, dword [0x45ac38]
call fcn.00403b30
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4576fe
lea eax, [ebp - 0x8c]
mov edx, 0x1e
call fcn.004048e0
ret