Function at 0x4573a8
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x25
push 0
push 0
dec ecx
jne 0x4573b1
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
call fcn.004042b8
mov eax, dword [ebp - 8]
call fcn.004042b8
mov eax, dword [ebp + 8]
call fcn.004042b8
xor eax, eax
push ebp
push 0x45800f
push dword fs:[eax]
mov dword fs:[eax], esp
mov ecx, 0x458028
mov edx, 0x458028
mov eax, dword [ebp - 4]
call fcn.0041b71c
mov dword [ebp - 0xc], eax
call fcn.00407ffc
fstp qword [ebp - 0x40]
wait
lea edx, [ebp - 0x84]
mov eax, dword [ebp - 0xc]
call fcn.00420074
call fcn.00407ffc
fstp qword [ebp - 0x48]
wait
cmp byte [ebp - 0x74], 0
jne 0x457430
mov eax, 0x458034
call fcn.0042bad8
call fcn.0040c9ec
mov dword [ebp - 0x54], eax
call fcn.0040664c
mov dword [ebp - 0x5c], eax
call fcn.0040664c
mov dword [ebp - 0x58], eax
xor eax, eax
mov dword [ebp - 0x60], eax
xor eax, eax
mov dword [ebp - 0x64], eax
mov ebx, dword [ebp - 0x84]
mov eax, ebx
mov edx, 0x458050
call fcn.00413eac
mov dword [ebp - 0x24], eax
mov eax, ebx
mov edx, 0x458064
call fcn.00413eac
mov esi, eax
mov eax, ebx
mov edx, 0x458074
call fcn.00413eac
mov dword [ebp - 0x28], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x24], 0
jl 0x457a00
test esi, esi
jl 0x457a00
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420478
dec eax
test eax, eax
jl 0x457a00
inc eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x8c]
dec eax
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x9c]
inc edx
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
lea ecx, [ebp - 0xa0]
mov edx, 0x458084
mov eax, dword [ebp - 0x10]
call fcn.0041820c
mov eax, dword [ebp - 0xa0]
lea edx, [ebp - 0x18]
call fcn.00454fd0
lea ecx, [ebp - 0x1c]
mov edx, 0x458094
mov eax, dword [ebp - 0x10]
call fcn.0041820c
lea eax, [ebp - 0x20]
call fcn.00403dfc
jmp 0x457677
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edi, dword [ebp - 0x90]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
cmp edi, dword [ebp - 0x98]
setge byte [ebp - 0x31]
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edi, dword [ebp - 0x88]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
cmp edi, dword [ebp - 0x94]
setle byte [ebp - 0x32]
mov al, byte [ebp - 0x31]
and al, byte [ebp - 0x32]
je 0x457670
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x8c]
dec eax
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x9c]
inc edx
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
cmp dword [ebp - 0x14], 0
je 0x457670
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x14]
call fcn.00403e94
cmp byte [ebp - 0x32], 0
je 0x45768d
inc ebx
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420478
cmp ebx, eax
jl 0x457549
cmp dword [ebp - 0x20], 0
je 0x457817
cmp dword [ebp - 0x28], 0
jl 0x457817
jmp 0x457800
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
call fcn.00420418
mov edi, dword [ebp - 0x90]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
cmp edi, dword [ebp - 0x98]
setge byte [ebp - 0x31]
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
call fcn.00420418
mov edi, dword [ebp - 0x88]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
cmp edi, dword [ebp - 0x94]
setle byte [ebp - 0x32]
mov al, byte [ebp - 0x31]
and al, byte [ebp - 0x32]
je 0x4577f7
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x8c]
dec eax
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x9c]
inc edx
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
cmp dword [ebp - 0x14], 0
je 0x4577f7
mov edx, dword [ebp - 0x14]
mov eax, 0x4580a4
call fcn.004043b0
test eax, eax
jg 0x4577f7
push dword [ebp - 0x20]
push 0x4580b0
push dword [ebp - 0x14]
lea eax, [ebp - 0x20]
mov edx, 3
call fcn.00404190
cmp byte [ebp - 0x32], 0
je 0x457817
inc dword [ebp - 0x30]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420478
cmp eax, dword [ebp - 0x30]
jg 0x4576a6
cmp dword [ebp - 0x18], 0
je 0x4579f4
cmp dword [ebp - 0x1c], 0
je 0x4579f4
cmp dword [ebp - 0x20], 0
je 0x4579f4
lea eax, [ebp - 0xa8]
push eax
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x20]
call fcn.00457254
mov eax, dword [ebp - 0xac]
push eax
mov eax, 0x4580bc
mov dword [ebp - 0xc4], eax
mov eax, 0x458028
mov dword [ebp - 0xc0], eax
mov eax, 0x4580c8
mov dword [ebp - 0xbc], eax
mov eax, 0x458028
mov dword [ebp - 0xb8], eax
mov eax, 0x4580d4
mov dword [ebp - 0xb4], eax
mov eax, 0x458028
mov dword [ebp - 0xb0], eax
lea edx, [ebp - 0xc4]
mov ecx, 5
pop eax
call fcn.00417960
mov eax, dword [ebp - 0xa8]
lea edx, [ebp - 0xa4]
call fcn.00410f48
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x20]
call fcn.00403e94
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x18]
call fcn.00413eac
mov edi, eax
test edi, edi
jge 0x45792a
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x18]
call fcn.00413d9c
call fcn.0040c9ec
mov edx, eax
mov eax, dword [ebp - 0x5c]
call fcn.00410414
call fcn.00409280
mov edx, eax
mov eax, dword [ebp - 0x58]
call fcn.00410414
mov eax, dword [ebp - 0x54]
mov edi, dword [eax + 0x1c]
dec edi
mov eax, dword [ebp - 0x5c]
mov edx, edi
call fcn.004066c8
mov edx, dword [ebp - 0x18]
call fcn.00413d9c
mov eax, dword [ebp - 0x58]
mov edx, edi
call fcn.004066c8
mov edx, 0x5000
call fcn.00411324
mov eax, dword [ebp - 0x58]
mov edx, edi
call fcn.004066c8
mov dword [ebp - 0x60], eax
push dword [ebp - 0x1c]
push 0x458028
push dword [ebp - 0x20]
push 0x4580e0
lea eax, [ebp - 0xc8]
mov edx, 4
call fcn.00404190
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x60]
call fcn.00408f80
inc dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
call fcn.00408f68
mov dword [ebp - 0xd0], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
fild qword [ebp - 0xd0]
fstp xword [ebp - 0xdc]
wait
mov eax, dword [ebp - 0x60]
call fcn.00411320
mov dword [ebp - 0xe4], eax
xor eax, eax
mov dword [ebp - 0xe0], eax
fild qword [ebp - 0xe4]
fld xword [ebp - 0xdc]
fdivrp st(1)
fld xword [0x4580e4]
fcompp
fnstsw ax
sahf
jae 0x4579ef
mov eax, dword [ebp - 0x60]
call fcn.00411320
mov dword [ebp - 0xd0], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
fild qword [ebp - 0xd0]
fld xword [0x4580f0]
fmulp st(1)
call fcn.004027b0
mov edx, eax
mov eax, dword [ebp - 0x60]
call fcn.00411324
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [ebp - 0x2c]
dec dword [ebp - 0x70]
jne 0x4574bf
mov ebx, dword [ebp - 0x84]
mov eax, ebx
mov edx, 0x458084
call fcn.00413eac
mov dword [ebp - 0x24], eax
mov eax, ebx
mov edx, 0x458104
call fcn.00413eac
mov esi, eax
xor ebx, ebx
cmp dword [ebp - 0x24], 0
jl 0x457cc0
test esi, esi
jl 0x457cc0
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420478
dec eax
test eax, eax
jl 0x457cc0
inc eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x8c]
dec eax
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x9c]
inc edx
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
lea ecx, [ebp - 0xe8]
mov edx, 0x45811c
mov eax, dword [ebp - 0x10]
call fcn.0041820c
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0x18]
call fcn.00454fd0
jmp 0x457c9f
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edi, dword [ebp - 0x90]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
cmp edi, dword [ebp - 0x98]
setge byte [ebp - 0x31]
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edi, dword [ebp - 0x88]
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x84]
call fcn.00420418
cmp edi, dword [ebp - 0x94]
setle byte [ebp - 0x32]
mov al, byte [ebp - 0x31]
and al, byte [ebp - 0x32]
je 0x457c98
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x8c]
dec eax
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x9c]
inc edx
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x90]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov eax, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0x9c]
push eax
mov ecx, ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420418
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0xc]
pop ecx
call fcn.004181c0
lea eax, [ebp - 0xf0]
push eax
mov eax, 0x4580bc
mov dword [ebp - 0xc4], eax
mov eax, 0x458028
mov dword [ebp - 0xc0], eax
mov eax, 0x4580c8
mov dword [ebp - 0xbc], eax
mov eax, 0x458028
mov dword [ebp - 0xb8], eax
mov eax, 0x4580d4
mov dword [ebp - 0xb4], eax
mov eax, 0x458028
mov dword [ebp - 0xb0], eax
lea edx, [ebp - 0xc4]
mov ecx, 5
mov eax, dword [ebp - 0x14]
call fcn.00417960
mov eax, dword [ebp - 0xf0]
lea edx, [ebp - 0xec]
call fcn.00410f48
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x14]
call fcn.00403e94
cmp dword [ebp - 0x18], 0
je 0x457c98
cmp dword [ebp - 0x14], 0
je 0x457c98
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
call fcn.00404214
je 0x457c98
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x18]
call fcn.00413eac
mov edi, eax
test edi, edi
jl 0x457c98
mov eax, dword [ebp - 0x5c]
mov edx, edi
call fcn.004066c8
mov edx, dword [ebp - 0x14]
call fcn.00413d9c
cmp byte [ebp - 0x32], 0
je 0x457cb4
inc ebx
mov edx, esi
lea eax, [ebp - 0x84]
call fcn.00420478
cmp ebx, eax
jl 0x457acb
inc dword [ebp - 0x2c]
dec dword [ebp - 0x70]
jne 0x457a59
call fcn.00407ffc
fstp qword [ebp - 0x50]
wait
lea eax, [ebp - 0x84]
call fcn.004203b4
mov eax, dword [ebp - 0xc]
call fcn.004102f8
push 0
mov eax, dword [ebp - 8]
call fcn.004042c8
push eax
call sub.kernel32.dll_CreateDirectoryA
xor ebx, ebx
call fcn.00407ffc
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x6c]
call fcn.00407098
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0x1c], 0
jle 0x457e97
cmp dword [ebp - 0x60], 0
jne 0x457e97
call fcn.0040c9ec
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jl 0x457e62
inc eax
mov dword [ebp - 0x70], eax
xor ebx, ebx
lea ecx, [ebp - 0xf8]
mov eax, dword [ebp - 0x54]
mov edx, ebx
call fcn.00413e34
lea eax, [ebp - 0xf8]
mov edx, dword [ebp - 0x6c]
call fcn.004040d8
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0xf4]
call fcn.0041f878
mov edx, dword [ebp - 0xf4]
lea eax, [ebp - 0x10]
mov ecx, 0x458128
call fcn.0040411c
mov eax, dword [ebp - 0x58]
mov edx, ebx
call fcn.004066c8
call fcn.00408f68
push eax
mov eax, dword [ebp - 0x58]
mov edx, ebx
call fcn.004066c8
push eax
push dword [ebp - 8]
push 0x458138
push dword [ebp - 0x10]
lea eax, [ebp - 0xfc]
mov edx, 3
call fcn.00404190
mov edx, dword [ebp - 0xfc]
xor ecx, ecx
pop eax
call fcn.004090d8
mov eax, dword [ebp - 0x58]
mov edx, ebx
call fcn.004066c8
call fcn.004102f8
mov eax, dword [ebp - 0x5c]
mov edx, ebx
call fcn.004066c8
mov esi, dword [eax + 0x1c]
dec esi
test esi, esi
jl 0x457e49
inc esi
xor edi, edi
mov eax, dword [ebp - 0x5c]
mov edx, ebx
call fcn.004066c8
lea ecx, [ebp - 0x10c]
mov edx, edi
call fcn.00413e34
mov eax, dword [ebp - 0x10c]
lea edx, [ebp - 0x108]
call fcn.00457254
mov eax, dword [ebp - 0x108]
lea edx, [ebp - 0x104]
call fcn.0041855c
push dword [ebp - 0x104]
push 0x458144
push dword [ebp - 0x10]
lea eax, [ebp - 0x100]
mov edx, 3
call fcn.00404190
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0x68]
call fcn.00413d9c
inc edi
dec esi
jne 0x457de0
mov eax, dword [ebp - 0x5c]
mov edx, ebx
call fcn.004066c8
call fcn.004102f8
inc ebx
dec dword [ebp - 0x70]
jne 0x457d36
mov eax, dword [ebp - 0x68]
cmp dword [eax + 0x1c], 0
jle 0x457e89
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0x68]
call fcn.00413e58
mov edx, dword [ebp - 0x110]
xor ecx, ecx
mov eax, dword [ebp + 8]
call fcn.00418480
mov eax, dword [ebp - 0x68]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x68]
call fcn.004102f8
push 0x458150
lea edx, [ebp - 0x118]
mov eax, dword [ebp - 4]
call fcn.004112a0
push dword [ebp - 0x118]
push 0x458170
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x64]
call fcn.00410e94
push dword [ebp - 0x11c]
push 0x45817c
lea edx, [ebp - 0x120]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x1c]
call fcn.00410e94
push dword [ebp - 0x120]
push 0x458198
lea edx, [ebp - 0x124]
mov eax, ebx
call fcn.00410e94
push dword [ebp - 0x124]
push 0x4581b8
fld qword [ebp - 0x48]
fsub qword [ebp - 0x40]
fmul dword [0x4581c0]
call fcn.004027b0
lea edx, [ebp - 0x128]
call fcn.00410e94
push dword [ebp - 0x128]
push 0x4581cc
fld qword [ebp - 0x50]
fsub qword [ebp - 0x48]
fmul dword [0x4581c0]
call fcn.004027b0
lea edx, [ebp - 0x12c]
call fcn.00410e94
push dword [ebp - 0x12c]
push 0x4581cc
call fcn.00407ffc
fsub qword [ebp - 0x50]
fmul dword [0x4581c0]
call fcn.004027b0
lea edx, [ebp - 0x130]
call fcn.00410e94
push dword [ebp - 0x130]
push 0x4581d8
lea eax, [ebp - 0x114]
mov edx, 0xf
call fcn.00404190
mov eax, dword [ebp - 0x114]
call fcn.0042bad8
mov eax, dword [ebp - 0x54]
call fcn.004102f8
mov eax, dword [ebp - 0x5c]
call fcn.004102f8
mov eax, dword [ebp - 0x58]
call fcn.004102f8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x458016
lea eax, [ebp - 0x130]
mov edx, 0x13
call fcn.00403e20
lea eax, [ebp - 0xc8]
call fcn.00403dfc
lea eax, [ebp - 0xac]
mov edx, 4
call fcn.00403e20
lea eax, [ebp - 0x6c]
call fcn.00403dfc
lea eax, [ebp - 0x20]
mov edx, 5
call fcn.00403e20
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403e20
lea eax, [ebp + 8]
call fcn.00403dfc
ret