Function at 0x437f60
Capabilities:
Create directory
Delete directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x437f71
push 4
sub esi, ecx
push 0x4e6cfc
push edi
sar esi, 1
call fcn.004ad6a1
xor ebx, ebx
add esp, 0xc
test eax, eax
sete bl
test eax, eax
je 0x437fe8
cmp esi, 3
jl 0x437fcd
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x61
jb 0x437faf
cmp eax, 0x7a
jbe 0x437fb8
lea eax, [ecx - 0x41]
cmp ax, 0x19
ja 0x437fcd
cmp word [edi + 2], 0x3a
jne 0x437fcd
movzx eax, word [edi + 4]
cmp eax, 0x5c
je 0x437fe8
cmp eax, 0x2f
je 0x437fe8
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov dword [eax + 0x48], 0xfffff019
mov dword [eax + 0xf0], 0x32
mov esp, ebp
pop ebp
ret
lea eax, [esi*4 + 0x20]
push eax
call fcn.00425da0
add esp, 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x438258
push 4
lea esi, [eax + 0x10]
push 0x4e6cec
push esi
call fcn.004aef5e
lea ecx, [ebx*4]
add esp, 0xc
lea ebx, [edi + ecx*2]
mov dword [ebp - 4], ecx
movzx ecx, word [ebx]
xor edx, edx
mov dword [ebp - 0x14], ebx
mov edi, ecx
mov dword [ebp - 0x10], edi
mov eax, 4
mov edi, dword [ebp + 0xc]
test cx, cx
je 0x438099
mov ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x10]
movzx ecx, cx
nop dword [eax]
movzx ecx, cx
cmp ecx, 0x5c
je 0x438077
cmp ecx, 0x2f
je 0x438077
test edx, edx
je 0x43806d
mov ecx, 0x5c
mov word [esi + eax*2], cx
inc eax
xor edx, edx
mov cx, word [ebx]
mov word [esi + eax*2], cx
inc eax
jmp 0x43807c
mov edx, 1
mov ecx, dword [ebp - 8]
inc ecx
mov dword [ebp - 8], ecx
lea ebx, [edi + ecx*2]
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 0xc]
test cx, cx
jne 0x438050
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
mov ecx, 0x5c
mov word [esi + eax*2], cx
inc eax
xor ecx, ecx
mov word [edx + 8], cx
lea ecx, [eax + eax]
mov word [edx + 0xa], cx
xor ecx, ecx
mov word [esi + eax*2], cx
xor edx, edx
movzx ecx, word [ebx]
inc eax
mov dword [ebp - 0x10], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov edi, dword [ebp + 0xc]
test cx, cx
je 0x438118
movzx ecx, cx
movzx ecx, cx
cmp ecx, 0x5c
je 0x4380f9
cmp ecx, 0x2f
je 0x4380f9
test edx, edx
je 0x4380ef
mov ecx, 0x5c
mov word [esi + eax*2], cx
inc eax
xor edx, edx
mov cx, word [ebx]
mov word [esi + eax*2], cx
inc eax
jmp 0x4380fe
mov edx, 1
mov ecx, dword [ebp - 4]
inc ecx
mov dword [ebp - 4], ecx
lea ebx, [edi + ecx*2]
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x14], edi
mov edi, dword [ebp + 0xc]
test cx, cx
jne 0x4380d2
mov ecx, dword [ebp - 0x10]
mov edx, eax
sub edx, ecx
cmp edx, 2
jne 0x43812f
mov edi, 0x5c
mov word [esi + eax*2], di
inc eax
inc edx
mov ebx, dword [ebp - 0xc]
add ecx, ecx
mov edi, dword [ebp + 0x10]
mov word [ebx + 0xc], cx
lea ecx, [edx + edx]
mov word [ebx + 0xe], cx
xor ecx, ecx
mov word [esi + eax*2], cx
lea eax, [eax*2 + 0x12]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
add eax, 0xfffffff8
mov word [ebx + 4], ax
xor eax, eax
push eax
push edi
mov dword [ebx], 0xa0000003
mov word [ebx + 6], ax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x438199
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [esi + 0xf0], eax
call fcn.0042bce0
push ebx
mov dword [esi + 0x48], eax
call fcn.00425c40
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0x2200000
push 3
push 0
push 0
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4381e7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [esi + 0xf0], eax
call fcn.0042bce0
push ebx
mov dword [esi + 0x48], eax
call fcn.00425c40
add esp, 8
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push dword [ebp - 0x14]
push ebx
push 0x900a4
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x43823a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov dword [esi + 0xf0], eax
call fcn.0042bce0
push ebx
mov dword [esi + 0x48], eax
call fcn.00425c40
add esp, 8
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp + 0x10]
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.00425c40
add esp, 4
mov dword [esi + 0x48], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.uv__malloc
push 0xe
call fcn.0042bc50
int3