Function at 0x4716a0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63bbc0
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x6eed24]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, dword [ebp + 8]
test edx, edx
je 0x471899
movzx eax, word [edx]
test ax, ax
je 0x471899
mov esi, edx
mov ebx, edx
mov dword [ebp - 0x14], esi
cmp eax, 0x5c
jne 0x4716f5
mov byte [ebp - 0xd], 1
cmp word [edx + 2], ax
je 0x4716f9
mov byte [ebp - 0xd], 0
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov byte [ebp - 4], 1
mov ecx, eax
test cx, cx
je 0x471729
cmp word [ebx + 2], 0
mov dword [ebp - 0x18], 0
jne 0x471730
mov dword [ebp - 0x18], 1
mov eax, ebx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x471742
cmp cx, 0x5c
je 0x47174b
test cx, cx
jne 0x47183e
mov esi, ebx
xor ecx, ecx
sub esi, edx
mov dword [ebp - 0x24], ecx
sar esi, 1
test edi, edi
je 0x47175f
xor eax, eax
mov word [edi], ax
test esi, esi
jns 0x471782
mov esi, edx
lea eax, [esi + 2]
mov dword [ebp - 0x1c], eax
jmp 0x471770
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x471770
sub esi, dword [ebp - 0x1c]
sar esi, 1
test esi, esi
je 0x4717dc
cmp esi, dword [ebp - 0x20]
jbe 0x4717ba
lea eax, [esi + 0x20]
and eax, 0xffffffe0
mov dword [ebp - 0x1c], eax
add eax, eax
push eax
push edi
call fcn.00446560
add esp, 8
test eax, eax
je 0x4717d9
test edi, edi
jne 0x4717ab
xor ecx, ecx
mov word [eax], cx
mov edx, dword [ebp + 8]
mov edi, eax
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x20], eax
test esi, esi
jle 0x4717cc
lea eax, [esi + esi]
push eax
push edx
push edi
call fcn.004b3b20
add esp, 0xc
mov ecx, esi
xor eax, eax
mov dword [ebp - 0x24], ecx
mov word [edi + esi*2], ax
jmp 0x4717dc
mov ecx, dword [ebp - 0x24]
mov eax, 0x649aa0
test edi, edi
je 0x4717e7
mov eax, edi
push ecx
lea ecx, [ebp - 0x34]
push ecx
push eax
call fcn.00471b30
add esp, 0xc
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x47182b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp byte [ebp - 0xd], 0
je 0x471816
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp + 8]
je 0x47182b
test eax, eax
je 0x47182b
cmp eax, 0x50
je 0x47182b
cmp eax, 0xb7
je 0x47182b
cmp eax, 5
jne 0x471850
cmp dword [ebp - 0x18], 0
mov edx, dword [ebp + 8]
jne 0x47183b
mov esi, ebx
mov dword [ebp - 0x14], esi
jmp 0x47183e
mov esi, dword [ebp - 0x14]
cmp word [ebx], 0
je 0x47185b
movzx ecx, word [ebx + 2]
add ebx, 2
jmp 0x471716
movzx ebx, ax
or ebx, 0x83ff0000
jmp 0x47185d
xor ebx, ebx
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 2
test eax, eax
je 0x471871
push eax
call fcn.00446420
add esp, 4
mov dword [ebp - 4], 3
test edi, edi
je 0x471885
push edi
call fcn.00446420
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x83ff00a1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret