Function at 0x4032a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x539e57
mov eax, dword fs:[0]
push eax
mov eax, 0x2840
call fcn.00516870
mov eax, dword [0x5897b0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
xor ebx, ebx
mov dword [ebp - 0x2794], edi
mov dword [ebp - 0x2790], eax
cmp dword [edi + 0x8c], ebx
je 0x403a4c
cmp dword [edi + 0xdc], 1
je 0x403a4c
sub esp, 0x18
mov eax, esp
lea esi, [edi + 0x20]
mov dword [ebp - 0x2770], esp
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [ebp - 0x2770], esi
call fcn.00403e00
push 4
push str..tar
lea ecx, [ebp - 0x2454]
mov dword [ebp - 0x2440], 0xf
mov dword [ebp - 0x2444], ebx
mov byte [ebp - 0x2454], bl
call fcn.00405210
push edi
lea ecx, [ebp - 0x2454]
mov dword [ebp - 4], ebx
call fcn.00401d00
mov esi, 0x10
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x277e], al
cmp dword [ebp - 0x2440], esi
jb 0x403388
mov ecx, dword [ebp - 0x2454]
push ecx
call fcn.00418c8f
add esp, 4
push 8
push str..tar.md5
lea ecx, [ebp - 0x2454]
mov dword [ebp - 0x2440], 0xf
mov dword [ebp - 0x2444], ebx
mov byte [ebp - 0x2454], 0
call fcn.00405210
push edi
lea ecx, [ebp - 0x2454]
mov dword [ebp - 4], 1
call fcn.00401d00
add esp, 4
mov bl, al
mov dword [ebp - 4], 0xffffffff
mov byte [ebp - 0x277d], bl
cmp dword [ebp - 0x2440], esi
jb 0x4033ed
mov edx, dword [ebp - 0x2454]
push edx
call fcn.00418c8f
add esp, 4
cmp byte [ebp - 0x277e], 0
jne 0x4033fe
test bl, bl
je 0x403a4c
mov eax, dword [ebp - 0x2790]
cmp dword [eax + 0x14], esi
jb 0x40340b
mov eax, dword [eax]
xor esi, esi
push esi
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
mov edi, dword [ebp - 0x2770]
push 2
push esi
push esi
mov dword [ebp - 0x277c], esi
mov dword [ebp - 0x2778], esi
mov esi, edi
call fcn.00403e90
lea esi, [ebp - 0x2454]
mov eax, edi
call fcn.00403f00
mov ecx, eax
mov eax, dword [ecx + 8]
cdq
mov ebx, eax
add ebx, dword [ecx]
push 0
adc edx, dword [ecx + 4]
push 0
push 0
mov esi, edi
mov dword [ebp - 0x278c], ebx
mov dword [ebp - 0x2788], edx
call fcn.00403e90
push 0x1ff
lea eax, [ebp - 0x233]
push 0
push eax
mov byte [ebp - 0x234], 0
call fcn.00514210
add esp, 0xc
push 0x1ff
lea ecx, [ebp - 0x433]
push 0
push ecx
mov byte [ebp - 0x434], 0
call fcn.00514210
add esp, 0xc
push 0x1fff
lea edx, [ebp - 0x2433]
push 0
push edx
mov byte [ebp - 0x2434], 0
call fcn.00514210
add esp, 0xc
lea ecx, [ecx]
mov ecx, dword [ebp - 0x2770]
push 0
push 0x200
lea eax, [ebp - 0x234]
push eax
push ecx
call fcn.00403cd0
add dword [ebp - 0x277c], 0x200
mov eax, 0x200
adc dword [ebp - 0x2778], 0
xor ecx, ecx
mov edx, dword [ebp + ecx - 0x234]
cmp edx, dword [ebp + ecx - 0x434]
jne 0x40363c
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x4034f2
mov ecx, dword [ebp - 0x2788]
mov eax, ebx
sub eax, dword [ebp - 0x277c]
sbb ecx, dword [ebp - 0x2778]
mov dword [ebp - 0x27a0], ecx
js 0x403556
jg 0x403536
cmp eax, 0x200
jb 0x403556
mov edx, dword [ebp - 0x2788]
cmp dword [ebp - 0x2778], edx
jl 0x4034c0
jg 0x403556
cmp dword [ebp - 0x277c], ebx
jb 0x4034c0
cmp byte [ebp - 0x277d], 0
je 0x4039a0
mov esi, dword [ebp - 0x277c]
mov ecx, dword [ebp - 0x2778]
mov eax, esi
add eax, 0x21
adc ecx, 0
cmp dword [ebp - 0x2788], ecx
jl 0x4039a0
jg 0x40358d
cmp ebx, eax
jbe 0x4039a0
mov edi, dword [ebp - 0x2770]
push 0
push 0x20
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.00403cd0
push 0
sub ebx, esi
sub ebx, 0x20
push ebx
lea ecx, [ebp - 0x234]
push ecx
push edi
call fcn.00403cd0
cmp byte [ebp - 0x234], 0x20
jne 0x4039a6
cmp byte [ebp - 0x233], 0x20
jne 0x4039a6
cmp byte [ebp + ebx - 0x235], 0xa
lea eax, [ebp + ebx - 0x234]
jne 0x4039a6
mov edx, dword [ebp - 0x2794]
push edx
push eax
lea eax, [ebp - 0x232]
push eax
lea ecx, [ebp - 0x2470]
push ecx
mov dword [ebp - 0x245c], 0xf
mov dword [ebp - 0x2460], 0
mov byte [ebp - 0x2470], 0
call fcn.004061f0
cmp dword [ebp - 0x245c], 0x10
jb 0x4039a6
mov edx, dword [ebp - 0x2470]
push edx
call fcn.00418c8f
add esp, 4
jmp 0x4039a6
mov ecx, 0x80
lea esi, [ebp - 0x234]
lea edi, [ebp - 0x276c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x276c]
lea esi, [ebp - 0x256c]
call fcn.00402ca0
mov dword [ebp - 4], 2
mov al, byte [ebp - 0x251c]
test al, al
je 0x4036c1
cmp al, 0x30
je 0x4036c1
cmp al, 0x35
jne 0x403989
mov ecx, dword [ebp - 0x2790]
mov eax, esi
push eax
push ecx
lea edx, [ebp - 0x30]
push edx
call fcn.00405e50
mov esi, 0x10
add esp, 0xc
cmp dword [eax + 0x14], esi
jb 0x40369f
mov eax, dword [eax]
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
cmp dword [ebp - 0x1c], esi
jb 0x403989
mov eax, dword [ebp - 0x30]
push eax
call fcn.00418c8f
jmp 0x403986
cmp dword [ebp - 0x2530], 0
jl 0x403989
jg 0x4036dd
cmp dword [ebp - 0x2534], 0
jbe 0x403989
lea ecx, [ebp - 0x284c]
push ecx
call fcn.00404db0
mov eax, dword [ebp - 0x2790]
lea edx, [ebp - 0x256c]
push edx
push eax
lea ecx, [ebp - 0x2470]
push ecx
mov byte [ebp - 4], 3
call fcn.00405e50
add esp, 0xc
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x403716
mov eax, dword [eax]
push 0x22
mov ecx, eax
lea ebx, [ebp - 0x2848]
call fcn.00405560
test eax, eax
jne 0x40374e
mov edx, dword [ebp - 0x284c]
mov ecx, dword [edx + 4]
mov eax, dword [ebp + ecx - 0x2840]
lea ecx, [ebp + ecx - 0x284c]
or eax, 2
cmp dword [ecx + 0x38], 0
jne 0x40376f
or eax, 4
jmp 0x40376f
mov eax, dword [ebp - 0x284c]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0x2814]
lea ecx, [ebp + ecx - 0x284c]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push 0
push eax
call fcn.004027a0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x245c], 0x10
jb 0x403793
mov ecx, dword [ebp - 0x2470]
push ecx
call fcn.00418c8f
add esp, 4
xor edi, edi
mov dword [ebp - 0x245c], 0xf
mov dword [ebp - 0x2460], edi
mov byte [ebp - 0x2470], 0
cmp dword [ebp - 0x27f4], edi
je 0x4038de
mov eax, dword [ebp - 0x2530]
mov dword [ebp - 0x2798], edi
mov ebx, dword [ebp - 0x2534]
mov ecx, ebx
sub ecx, edi
sbb eax, dword [ebp - 0x2798]
mov esi, eax
js 0x4037e9
jg 0x4037e2
cmp ecx, 0x2000
jbe 0x4037e9
mov eax, 0x2000
jmp 0x4037ed
mov eax, ebx
sub eax, edi
test eax, 0x1ff
je 0x4037fb
shr eax, 9
inc eax
shl eax, 9
xor edx, edx
cmp esi, edx
jl 0x40380b
jg 0x403807
cmp ecx, eax
jbe 0x40380b
mov ebx, eax
jmp 0x40380d
sub ebx, edi
push edx
push eax
mov eax, dword [ebp - 0x2770]
lea edx, [ebp - 0x2434]
push edx
push eax
call fcn.00403cd0
mov ecx, dword [ebp - 0x2794]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
mov esi, dword [ebp - 0x2778]
mov dword [ebp - 0x27a0], ecx
xor ecx, ecx
add dword [ebp - 0x277c], eax
push ecx
push ebx
adc esi, ecx
add edi, eax
adc dword [ebp - 0x2798], ecx
lea edx, [ebp - 0x2434]
push edx
lea eax, [ebp - 0x284c]
push eax
mov dword [ebp - 0x2778], esi
call fcn.00403b00
cmp esi, dword [ebp - 0x2788]
jg 0x4038a1
jl 0x40387f
mov ecx, dword [ebp - 0x277c]
cmp ecx, dword [ebp - 0x278c]
jae 0x4038a1
mov eax, dword [ebp - 0x2530]
cmp dword [ebp - 0x2798], eax
jl 0x4037c4
jg 0x4038a1
mov ebx, dword [ebp - 0x2534]
cmp edi, ebx
jb 0x4037ca
lea ecx, [ebp - 0x2848]
call fcn.00405650
test eax, eax
jne 0x40395b
mov edx, dword [ebp - 0x284c]
mov ecx, dword [edx + 4]
mov eax, dword [ebp + ecx - 0x2840]
lea ecx, [ebp + ecx - 0x284c]
or eax, 2
cmp dword [ecx + 0x38], 0
jne 0x4038d7
or eax, 4
push 0
jmp 0x403955
mov ecx, dword [ebp - 0x2770]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
test byte [ecx + edx + 0xc], 6
jne 0x40395b
mov eax, edx
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [ebp - 0x2530]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
push 1
push 1
push eax
mov eax, dword [ebp - 0x2534]
push eax
lea eax, [ebp - 0x2454]
push eax
call edx
mov eax, dword [ebp - 0x244c]
cdq
add eax, dword [ebp - 0x2454]
adc edx, dword [ebp - 0x2450]
cmp eax, dword [0x5692a0]
jne 0x40395b
cmp edx, dword [0x5692a4]
jne 0x40395b
mov eax, dword [ebp - 0x2770]
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
mov eax, dword [ecx + 0xc]
or eax, 2
cmp dword [ecx + 0x38], edi
jne 0x403954
or eax, 4
push edi
push eax
call fcn.004027a0
lea ecx, [ebp - 0x27ec]
mov byte [ebp - 4], 2
call fcn.00404ee0
lea edx, [ebp - 0x27ec]
push edx
mov dword [ebp - method.std::ios_base.virtual_0], vtable.std::ios_base.0
call fcn.0052c1db
mov ebx, dword [ebp - 0x278c]
add esp, 4
lea esi, [ebp - 0x256c]
mov dword [ebp - 4], 0xffffffff
call fcn.00403010
jmp 0x403536
mov edi, dword [ebp - 0x2770]
cmp dword [edi + 0x6c], 0
lea ebx, [edi + 0x18]
je 0x4039cd
lea ecx, [edi + 0x18]
call fcn.00405780
test al, al
jne 0x4039bd
xor ebx, ebx
mov eax, dword [edi + 0x6c]
push eax
call fcn.00510f70
add esp, 4
test eax, eax
je 0x4039cf
xor ebx, ebx
lea ecx, [edi + 0x20]
mov dword [edi + 0x28], ecx
lea edx, [edi + 0x30]
mov dword [edi + 0x38], edx
mov byte [edi + 0x68], 0
mov byte [edi + 0x61], 0
lea ecx, [edi + 0x34]
mov dword [edi + 0x3c], ecx
lea edx, [edi + 0x40]
mov dword [edi + 0x48], edx
xor edx, edx
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea ecx, [edi + 0x44]
mov dword [edi + 0x4c], ecx
mov dword [eax], edx
mov eax, dword [edi + 0x3c]
mov dword [eax], edx
mov ecx, dword [edi + 0x4c]
mov dword [ecx], edx
mov eax, dword [edi + 0x28]
mov dword [eax], edx
mov ecx, dword [edi + 0x38]
mov dword [ecx], edx
mov eax, dword [edi + 0x48]
mov dword [eax], edx
mov dword [edi + 0x6c], edx
mov ecx, dword [0x59199c]
mov dword [edi + 0x64], ecx
mov dword [edi + 0x5c], edx
cmp ebx, edx
jne 0x403a48
mov eax, dword [edi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edi + 0xc]
add ecx, edi
or eax, 2
cmp dword [ecx + 0x38], edx
jne 0x403a41
or eax, 4
push edx
push eax
call fcn.004027a0
mov al, 1
jmp 0x403a4e
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0050f8ec
mov esp, ebp
pop ebp
ret 4