Function at 0x51d3b8
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x6a
push 0
push 0
dec ecx
jne 0x51d3c0
push ecx
push ebx
push esi
push edi
lea eax, [ebp - 0x160]
mov edx, dword [0x408030]
call fcn.00405248
xor eax, eax
push ebp
push 0x51d9ca
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x2b4]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2b4]
lea edx, [ebp - 0x2b0]
call fcn.00409dbc
lea eax, [ebp - 0x2b0]
mov edx, 0x51d9e0
call fcn.00404b58
mov eax, dword [ebp - 0x2b0]
lea ecx, [ebp - 0x160]
mov edx, 0x3f
call fcn.00409c00
mov ebx, eax
test ebx, ebx
jne 0x51d990
mov eax, dword [ebp - 0x158]
mov edx, eax
and edx, 0x10
cmp edx, 0x10
je 0x51d97b
and eax, 8
cmp eax, 8
je 0x51d97b
lea ecx, [ebp - 0x2bc]
mov edx, 4
mov eax, dword [ebp - 0x154]
call fcn.0043a454
mov eax, dword [ebp - 0x2bc]
lea edx, [ebp - 0x2b8]
call fcn.00408d7c
mov eax, dword [ebp - 0x2b8]
mov edx, 0x51d9ec
call fcn.00404c9c
jne 0x51d50a
lea edx, [ebp - 0x2c4]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2c4]
lea edx, [ebp - 0x2c0]
call fcn.00409dbc
lea eax, [ebp - 0x2c0]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x2c0]
mov edx, 0x20
call fcn.00409b74
lea edx, [ebp - 0x2cc]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2cc]
lea edx, [ebp - 0x2c8]
call fcn.00409dbc
lea eax, [ebp - 0x2c8]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x2c8]
call fcn.00409c90
lea ecx, [ebp - 0x2d4]
mov edx, 4
mov eax, dword [ebp - 0x154]
call fcn.0043a454
mov eax, dword [ebp - 0x2d4]
lea edx, [ebp - 0x2d0]
call fcn.00408d7c
mov eax, dword [ebp - 0x2d0]
mov edx, 0x51d9fc
call fcn.00404c9c
jne 0x51d6ab
lea edx, [ebp - 0x2dc]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2dc]
lea edx, [ebp - 0x2d8]
call fcn.00409dbc
lea eax, [ebp - 0x2d8]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x2d8]
mov edx, 0x20
call fcn.00409b74
lea edx, [ebp - 0x2e4]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2e4]
lea edx, [ebp - 0x2e0]
call fcn.00409dbc
lea eax, [ebp - 0x2e0]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x2e0]
call fcn.00409c90
push 0
lea edx, [ebp - 0x2ec]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2ec]
lea edx, [ebp - 0x2e8]
call fcn.00409dbc
lea eax, [ebp - 0x2e8]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x2e8]
call fcn.00404d50
push eax
call sub.kernel32.dll_CreateDirectoryA_1
lea edx, [ebp - 0x2f4]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x2f4]
lea edx, [ebp - 0x2f0]
call fcn.00409dbc
lea eax, [ebp - 0x2f0]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x2f0]
mov edx, 2
call fcn.00409b74
push 0
lea edx, [ebp - 0x300]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x2fc]
call fcn.00409dbc
push dword [ebp - 0x2fc]
push dword [ebp - 0x154]
push 0x51da0c
lea edx, [ebp - 0x304]
mov eax, ebx
call fcn.00409360
push dword [ebp - 0x304]
push 0x51da18
lea eax, [ebp - 0x2f8]
mov edx, 5
call fcn.00404c10
mov eax, dword [ebp - 0x2f8]
call fcn.00404d50
push eax
call sub.kernel32.dll_CreateDirectoryA_1
lea ecx, [ebp - 0x30c]
mov edx, 4
mov eax, dword [ebp - 0x154]
call fcn.0043a454
mov eax, dword [ebp - 0x30c]
lea edx, [ebp - 0x308]
call fcn.00408d7c
mov eax, dword [ebp - 0x308]
mov edx, 0x51da24
call fcn.00404c9c
jne 0x51d97b
lea edx, [ebp - 0x310]
mov eax, dword [ebp - 0x154]
call fcn.00408d7c
mov eax, dword [ebp - 0x310]
push eax
lea edx, [ebp - 0x318]
mov eax, 1
call fcn.00402d28
mov eax, dword [ebp - 0x318]
lea edx, [ebp - 0x314]
call fcn.00408d7c
mov edx, dword [ebp - 0x314]
pop eax
call fcn.00404c9c
je 0x51d97b
lea edx, [ebp - 0x31c]
mov eax, dword [ebp - 0x154]
call fcn.00408d7c
mov eax, dword [ebp - 0x31c]
push eax
lea edx, [ebp - 0x328]
mov eax, dword [0x525a98]
mov eax, dword [eax]
call fcn.0047bf14
mov eax, dword [ebp - 0x328]
lea edx, [ebp - 0x324]
call fcn.00409ed8
mov eax, dword [ebp - 0x324]
lea edx, [ebp - 0x320]
call fcn.00408d7c
mov edx, dword [ebp - 0x320]
pop eax
call fcn.00404c9c
je 0x51d97b
lea edx, [ebp - 0x32c]
mov eax, dword [ebp - 0x154]
call fcn.00408d7c
mov eax, dword [ebp - 0x32c]
mov edx, 0x51da34
call fcn.00404c9c
je 0x51d97b
lea edx, [ebp - 0x334]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x334]
lea edx, [ebp - 0x330]
call fcn.00409ed8
mov edx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x154]
call fcn.00404c9c
je 0x51d97b
lea edx, [ebp - 0x338]
mov eax, dword [ebp - 0x154]
call fcn.00408d7c
mov eax, dword [ebp - 0x338]
mov edx, 0x51da4c
call fcn.00404c9c
je 0x51d97b
lea edx, [ebp - 0x33c]
mov eax, dword [ebp - 0x154]
call fcn.00408d7c
mov eax, dword [ebp - 0x33c]
mov edx, 0x51da60
call fcn.00404c9c
je 0x51d97b
xor eax, eax
push ebp
push 0x51d971
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x344]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x344]
lea edx, [ebp - 0x340]
call fcn.00409dbc
lea eax, [ebp - 0x340]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x340]
mov edx, 0x20
call fcn.00409b74
lea edx, [ebp - 0x34c]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x34c]
lea edx, [ebp - 0x348]
call fcn.00409dbc
lea eax, [ebp - 0x348]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov edx, dword [ebp - 0x348]
lea eax, [ebp - 0x2ac]
call fcn.00403098
mov edx, 0x80
lea eax, [ebp - 0x2ac]
call fcn.00403488
call fcn.004029bc
lea eax, [ebp - 0x2ac]
call fcn.004032f8
call fcn.004029bc
shl eax, 7
cdq
mov dword [ebp - 8], eax
mov dword [ebp - 4], edx
lea eax, [ebp - 0x2ac]
call fcn.00403154
call fcn.004029bc
cmp dword [ebp - 4], 0
jne 0x51d918
cmp dword [ebp - 8], 0x231860
jb 0x51d92d
jmp 0x51d91a
jl 0x51d92d
cmp dword [ebp - 4], 0
jne 0x51d92b
cmp dword [ebp - 8], 0x236774
jbe 0x51d967
jmp 0x51d92d
jle 0x51d967
lea edx, [ebp - 0x354]
xor eax, eax
call fcn.00402d28
mov eax, dword [ebp - 0x354]
lea edx, [ebp - 0x350]
call fcn.00409dbc
lea eax, [ebp - 0x350]
mov edx, dword [ebp - 0x154]
call fcn.00404b58
mov eax, dword [ebp - 0x350]
call fcn.00409c90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x51d97b
lea eax, [ebp - 0x160]
call fcn.00409c50
mov ebx, eax
test ebx, ebx
je 0x51d438
lea eax, [ebp - 0x160]
call fcn.00409c74
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51d9d1
lea eax, [ebp - 0x354]
mov edx, 0x2a
call fcn.004048b4
lea eax, [ebp - 0x160]
mov edx, dword [0x408030]
call fcn.00405318
ret