Function at 0x619b60
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc4
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x622290
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0xf
mov byte [ebp - 0x6c], 0
movzx eax, byte [0xb246df]
cmp al, 0xe4
je 0x619c0f
mov cl, 0x21
nop
mov al, 0xc1
lock cmpxchg byte [0xb246df], cl
je 0x619bc2
cmp al, 0xe4
jne 0x619bb0
jmp 0x619c0f
movq xmm0, qword [0xb246d0]
paddb xmm0, xmmword [0xaacb00]
movq qword [0xb246d0], xmm0
movd xmm0, dword [0xb246d8]
paddb xmm0, xmmword [0xaacb10]
movd dword [0xb246d8], xmm0
add byte [0xb246dc], 0xd7
add byte [0xb246dd], 0x28
add byte [0xb246de], 0x6b
mov al, 0xe4
xchg byte [0xb246df], al
movzx eax, byte [0xb24721]
cmp al, 0xd3
je 0x619c9f
mov cl, 0x5f
mov al, 0xa2
lock cmpxchg byte [0xb24721], cl
je 0x619c32
cmp al, 0xd3
jne 0x619c20
jmp 0x619c9f
movaps xmm0, xmmword [0xb246e0]
xorps xmm0, xmmword [0xaacb20]
movaps xmmword [0xb246e0], xmm0
movaps xmm0, xmmword [0xb246f0]
xorps xmm0, xmmword [0xaacb30]
movaps xmmword [0xb246f0], xmm0
movaps xmm0, xmmword [0xb24700]
xorps xmm0, xmmword [0xaacb40]
movaps xmmword [0xb24700], xmm0
movdqa xmm0, xmmword [0xb24710]
pxor xmm0, xmmword [0xaacb50]
movdqa xmmword [0xb24710], xmm0
xor byte [0xb24720], 0x75
mov al, 0xd3
xchg byte [0xb24721], al
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x10], 2
lea eax, [ebp - 0x6c]
push eax
push 0xb246d0
push 0xb246e0
push 0x80000002
call fcn.0061a4f0
add esp, 0x10
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x61a05c
mov eax, dword [ebp - 0x58]
mov edx, eax
sub edx, ecx
cmp edx, 0x13
lea esi, [ebp - 0x6c]
jae 0x619d05
movzx eax, byte [0xb24744]
cmp al, 0x50
je 0x619d88
mov cl, 0x9d
nop dword [eax]
mov al, 0xb5
lock cmpxchg byte [0xb24744], cl
je 0x619d49
cmp al, 0x50
jne 0x619cf0
jmp 0x619d88
lea edx, [ecx + 0x13]
mov dword [ebp - 0x5c], edx
cmp eax, 0x10
jb 0x619d13
mov esi, dword [ebp - 0x6c]
add ecx, esi
movzx eax, byte [0xb24744]
cmp al, 0x50
je 0x619dfc
mov ah, 0x9d
nop word cs:[eax + eax]
mov al, 0xb5
lock cmpxchg byte [0xb24744], ah
je 0x619dc4
cmp al, 0x50
jne 0x619d30
jmp 0x619dfc
movdqa xmm0, xmmword [0xb24730]
paddb xmm0, xmmword [0xaacb60]
movdqa xmmword [0xb24730], xmm0
movdqa xmm0, xmmword [0xb24740]
paddb xmm0, xmmword [0xaacb70]
movd dword [0xb24740], xmm0
mov al, 0x50
xchg byte [0xb24744], al
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x10], 2
sub esp, 0x10
movzx eax, byte [ebp - 0x4c]
mov byte [esp + 4], al
mov dword [esp + 0xc], 0x13
mov dword [esp + 8], 0xb24730
mov dword [esp], 0x13
lea ecx, [ebp - 0x6c]
call fcn.0052d5f0
cmp dword [ebp - 0x58], 0x10
jb 0x619e21
mov eax, dword [ebp - 0x6c]
jmp 0x619e24
movdqa xmm0, xmmword [0xb24730]
paddb xmm0, xmmword [0xaacb60]
movdqa xmmword [0xb24730], xmm0
movdqa xmm0, xmmword [0xb24740]
paddb xmm0, xmmword [0xaacb70]
movd dword [0xb24740], xmm0
mov al, 0x50
xchg byte [0xb24744], al
mov eax, dword [0xb2473f]
mov dword [ecx + 0xf], eax
movdqa xmm0, xmmword [0xb24730]
movdqu xmmword [ecx], xmm0
mov byte [esi + edx], 0
mov dword [ebp - 0x10], 2
cmp dword [ebp - 0x58], 0x10
jae 0x619dbf
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x40]
push eax
call fcn.00621fa0
test eax, eax
je 0x619e5d
lea eax, [ebp - 0x40]
push eax
call fcn.00621fb0
test eax, eax
je 0x619e5d
lea eax, [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], 0xc
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x2c], 1
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x54], eax
push eax
push dword [ebp - 0x20]
call sub.KERNEL32.dll_CreateDirectoryA
test eax, eax
jne 0x619e87
call sub.KERNEL32.dll_GetLastError
push eax
call fcn.00620840
add esp, 4
cmp eax, 9
jne 0x61a08f
push dword [ebp + 8]
call fcn.0061a180
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x20], eax
jb 0x619ea3
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x2c], 0
lea eax, [ebp - 0x40]
push eax
call fcn.00621fa0
test eax, eax
je 0x619ed9
lea eax, [ebp - 0x40]
push eax
call fcn.00621fb0
test eax, eax
je 0x619ed9
lea eax, [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], 0xc
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x2c], 1
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x20]
call sub.KERNEL32.dll_CreateDirectoryA
test eax, eax
jne 0x619f00
call sub.KERNEL32.dll_GetLastError
push eax
call fcn.00620840
add esp, 4
cmp eax, 9
jne 0x61a0ca
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x10]
cmp dword [eax + 0x14], 0x10
jb 0x619f1c
mov eax, dword [eax]
cmp esi, 0xf
ja 0x619f31
movdqu xmm0, xmmword [eax]
movdqu xmmword [ebp - 0x4c], xmm0
mov edx, 0xf
jmp 0x619f88
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x50], esi
mov eax, esi
or eax, 0xf
cmp eax, 0x7fffffff
mov ecx, 0x7fffffff
cmovb ecx, eax
cmp ecx, 0xfff
mov dword [ebp - 0x70], ecx
jb 0x619f69
add ecx, 0x24
call fcn.0053d610
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x619f6f
inc ecx
call fcn.0053d610
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x4c], eax
lea ecx, [esi + 1]
push ecx
push dword [ebp - 0x20]
push eax
call fcn.0077cce0
add esp, 0xc
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x5c]
inc eax
cmp esi, eax
cmovb eax, esi
lea ecx, [ebp - 0x4c]
cmp edx, 0x10
jb 0x619f9f
mov ecx, dword [ebp - 0x4c]
sub esi, eax
mov dword [ebp - 0x3c], esi
inc esi
add eax, ecx
push esi
push eax
push ecx
call fcn.0077cce0
add esp, 0xc
cmp dword [ebp - 0x38], 0x10
jb 0x619fbe
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 3
lea eax, [ebp - 0x6c]
push 0
push dword [ebp - 0x54]
push eax
call fcn.0061f9b0
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x61a00f
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x61a004
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x61a103
add eax, 0x24
mov edx, eax
mov ecx, esi
sub esp, 4
call fcn.0053e020
add esp, 4
mov eax, dword [ebp - 0x58]
cmp eax, 0x10
jb 0x61a048
mov ecx, dword [ebp - 0x6c]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x61a03d
mov esi, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, esi
cmp ecx, 0x20
jae 0x61a10f
add eax, 0x24
mov edx, eax
mov ecx, esi
sub esp, 4
call fcn.0053e020
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0xc4
pop esi
pop edi
pop ebx
pop ebp
ret
call sub.KERNEL32.dll_GetLastError
mov dword [ebp - 0x78], eax
push eax
call fcn.00620840
add esp, 4
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x78]
lea ecx, [ebp - 0x4c]
push 0
push eax
call fcn.006196f0
push 0xafd5b8
lea eax, [ebp - 0x4c]
push eax
call fcn.0077d4eb
add esp, 8
call sub.KERNEL32.dll_GetLastError
mov dword [ebp - 0x4c], eax
push eax
call fcn.00620840
add esp, 4
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xd0]
push 0
push eax
call fcn.006196f0
push 0xafd5b8
lea eax, [ebp - 0xd0]
push eax
call fcn.0077d4eb
add esp, 8
jmp 0x61a103
call sub.KERNEL32.dll_GetLastError
mov dword [ebp - 0x4c], eax
push eax
call fcn.00620840
add esp, 4
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0xa4]
push 0
push eax
call fcn.006196f0
push 0xafd5b8
lea eax, [ebp - 0xa4]
push eax
call fcn.0077d4eb
add esp, 8
mov dword [ebp - 0x10], 0
call fcn.00748ef1
mov dword [ebp - 0x10], 1
call fcn.00748ef1
nop dword [eax + eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0x10
add ebp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.00529740
add esp, 0x10
pop ebp
ret