Function at 0x781ed0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x118
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x786210
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
cmp dword [edi + 0x10], 0
je 0x781f6e
test esi, esi
je 0x781f24
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi + 8], 0
lea ebx, [ebp - 0xc4]
mov ecx, edi
push ebx
call fcn.007882d0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov esi, dword [ebp - 0xb4]
cmp dword [ebp - 0xb0], 8
jb 0x781f55
mov ebx, dword [ebp - 0xc4]
cmp esi, 7
ja 0x781fca
movups xmm0, xmmword [ebx]
movups xmmword [ebp - 0x88], xmm0
mov eax, 7
jmp 0x782054
test esi, esi
je 0x782649
mov eax, dword [0xa56f98]
mov ecx, dword [0xa56f9c]
shrd eax, ecx, 1
xor eax, 0x12bf6fe8
shr ecx, 1
xor ecx, 0x595588bd
or ecx, eax
je 0x781fae
mov eax, dword [0xa56f90]
mov ecx, 0xa56f90
push 0x16
call dword [eax + 0x18]
mov ecx, 2
test al, al
je 0x781fb3
mov ecx, 3
mov dword [esi], 0x16
mov dword [esi + 4], 0xa56f90
mov dword [esi + 8], ecx
xor ebx, ebx
jmp 0x782630
mov ecx, esi
or ecx, 7
cmp ecx, 0x7ffffffe
mov edx, 0x7ffffffe
cmovb edx, ecx
lea eax, [edx + edx]
cmp ecx, 0x7ff
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], edx
jb 0x78201d
cmp ecx, 0x7fffffee
jae 0x782695
add eax, 0x25
mov dword [ebp - 0x10], 5
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x782030
add eax, 2
mov dword [ebp - 0x10], 5
push eax
call fcn.0091d7fd
add esp, 4
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x88], eax
lea ecx, [esi*2 + 2]
push ecx
push edx
push eax
call fcn.00935430
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], 8
mov edx, edi
jb 0x782087
mov edx, dword [edi]
cmp esi, 7
ja 0x7820a4
movups xmm0, xmmword [edx]
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x10], 7
mov eax, 7
jmp 0x782128
mov ecx, esi
or ecx, 7
cmp ecx, 0x7ffffffe
mov edi, 0x7ffffffe
cmovb edi, ecx
lea eax, [edi + edi]
cmp ecx, 0x7ff
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edi
jb 0x7820f7
mov dword [ebp - 0x10], 6
cmp ecx, 0x7fffffee
jae 0x7826a1
add eax, 0x25
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x78210a
add eax, 2
mov dword [ebp - 0x10], 6
push eax
call fcn.0091d7fd
add esp, 4
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
lea ecx, [esi*2 + 2]
push ecx
push edx
push eax
call fcn.00935430
add esp, 0xc
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 7
call fcn.00788bb0
mov dword [ebp - 0x28], eax
call fcn.00788c70
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x4c]
push eax
call fcn.00788910
add esp, 4
cmp dword [ebp - 0x38], 8
lea edx, [ebp - 0x4c]
jb 0x782172
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 7
mov word [ebp - 0x68], 0
test eax, eax
je 0x78220b
sub ecx, eax
lea ecx, [edx + ecx*2]
cmp eax, 7
jbe 0x7821ba
sub esp, 0xc
movzx edx, byte [ebp - 0xa4]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [ebp - 0x68]
call fcn.00675f50
jmp 0x78220b
mov edx, eax
add edx, eax
mov dword [ebp - 0x58], eax
lea esi, [ebp - 0x68]
push edx
push ecx
push esi
mov esi, eax
call fcn.00935430
add esp, 0xc
mov word [ebp + esi*2 - 0x68], 0
jmp 0x78220b
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
movsd xmm0, qword [ebp - 0x94]
movsd qword [ebp - 0x58], xmm0
movups xmm0, xmmword [ebp - 0xa4]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x10], 8
lea eax, [ebp - 0x4c]
push eax
call fcn.00788a60
add esp, 4
mov dword [ebp - 0x20], 2
test edx, edx
je 0x7823a7
cmp dword [ebp - 0x58], 0
je 0x782290
push dword [ebp - 0x28]
lea eax, [ebp - 0x68]
push eax
call fcn.00788640
add esp, 8
test eax, eax
je 0x782290
push dword [ebp - 0x24]
lea eax, [ebp - 0x68]
push eax
call fcn.00788640
add esp, 8
test eax, eax
je 0x782290
lea ecx, [ebp - 0xa4]
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x34]
push eax
call fcn.00781770
add esp, 4
mov eax, dword [ebp - 0xa4]
cmp eax, 3
je 0x7823a7
test eax, eax
je 0x782386
nop word cs:[eax + eax]
lea eax, [ebp - 0x88]
push eax
call fcn.007891b0
add esp, 4
lea ecx, [ebp - 0x4c]
call fcn.00788820
lea eax, [ebp - 0x4c]
push eax
call fcn.00788910
add esp, 4
cmp dword [ebp - 0x38], 8
lea ecx, [ebp - 0x4c]
jb 0x7822bf
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 7
mov word [ebp - 0xa4], 0
test eax, eax
je 0x78230a
sub edx, eax
lea ecx, [ecx + edx*2]
cmp eax, 7
jbe 0x782320
sub esp, 0xc
movzx edx, byte [ebp - 0x50]
mov byte [esp + 4], dl
mov dword [esp + 8], ecx
mov dword [esp], eax
lea ecx, [ebp - 0xa4]
call fcn.00675f50
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x7821f3
jmp 0x782353
mov edx, eax
add edx, eax
mov dword [ebp - 0x94], eax
push edx
push ecx
lea ecx, [ebp - 0xa4]
push ecx
mov esi, eax
call fcn.00935430
add esp, 0xc
mov word [ebp + esi*2 - 0xa4], 0
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x7821f3
mov ecx, dword [ebp - 0x68]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x7821e9
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jb 0x7821e0
mov dword [ebp - 0x10], 0
call fcn.00900ce1
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x782721
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 8], eax
movsd xmm0, qword [ebp - 0x34]
movsd qword [ecx], xmm0
mov dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x54]
cmp eax, 8
jb 0x7823e5
mov ecx, dword [ebp - 0x68]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x7823db
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x7826a6
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
cmp dword [ebp - 0x20], 2
jne 0x782544
mov dword [ebp - 0x20], 0
jmp 0x78240f
lea eax, [ebp - 0x88]
push eax
call fcn.00788040
add esp, 4
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0xac]
jne 0x782429
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x6c], eax
je 0x78256a
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x88]
jb 0x78243b
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x10], 7
push ecx
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00787a20
add esp, 0xc
cmp dword [ebp - 0x78], 0
je 0x782400
push dword [ebp - 0x28]
lea eax, [ebp - 0x88]
push eax
call fcn.00788640
add esp, 8
test eax, eax
je 0x782400
push dword [ebp - 0x24]
lea eax, [ebp - 0x88]
push eax
call fcn.00788640
add esp, 8
test eax, eax
je 0x782400
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
cmp dword [ebp - 0x38], 8
lea eax, [ebp - 0x4c]
jb 0x7824ad
mov eax, dword [ebp - 0x4c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
setne al
mov dword [ebp - 0x20], eax
jne 0x782510
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x60], 0
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00782840
add esp, 8
test al, al
jne 0x782510
push 0x9da816
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x8c]
call fcn.0078cac0
add esp, 0x10
mov eax, dword [ebp - 0x2c]
test al, 1
je 0x782400
cmp eax, 1
jne 0x78252a
cmp dword [ebp - 0x34], 0
je 0x782400
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x7826d6
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 8], eax
movsd xmm0, qword [ebp - 0x34]
movsd qword [ecx], xmm0
xor ebx, ebx
mov eax, dword [ebp - 0x38]
cmp eax, 8
jae 0x782575
mov eax, dword [ebp - 0x74]
cmp eax, 8
jae 0x7825b3
mov eax, dword [ebp - 0xb0]
cmp eax, 8
jae 0x7825f7
jmp 0x782630
mov ebx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp eax, 8
jb 0x78254e
mov ecx, dword [ebp - 0x4c]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x7825a1
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x7826b2
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x782556
mov ecx, dword [ebp - 0x88]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x7825e2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x7826be
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0xb0]
cmp eax, 8
jb 0x782630
mov ecx, dword [ebp - 0xc4]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x782626
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x7826ca
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
and bl, 1
mov eax, ebx
add esp, 0x118
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebp - 0xd0]
push 0x16
push eax
call fcn.007819b0
sub esp, 0xc
mov eax, dword [ebp - 0xc8]
mov dword [esp + 0x10], eax
movsd xmm0, qword [ebp - 0xd0]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], edi
mov dword [esp], 0x9da7f0
lea esi, [ebp - 0x124]
mov ecx, esi
call fcn.0078bde0
push 0xa2c644
push esi
call fcn.0093533b
mov dword [ebp - 0x10], 5
call fcn.0066aec0
call fcn.0066aec0
mov dword [ebp - 0x10], 1
call fcn.00900ce1
mov dword [ebp - 0x10], 2
call fcn.00900ce1
mov dword [ebp - 0x10], 3
call fcn.00900ce1
mov dword [ebp - 0x10], 4
call fcn.00900ce1
sub esp, 0x18
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0x14], eax
movsd xmm0, qword [ebp - 0x34]
movsd qword [esp + 0xc], xmm0
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], 0x9da7f0
lea ecx, [ebp - 0xec]
call fcn.0078c000
push 0xa2c644
lea eax, [ebp - 0xec]
push eax
call fcn.0093533b
add esp, 8
jmp 0x78276a
sub esp, 0x18
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0x14], eax
movsd xmm0, qword [ebp - 0x34]
movsd qword [esp + 0xc], xmm0
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov dword [esp], 0x9da7f0
lea ecx, [ebp - 0x108]
call fcn.0078c000
push 0xa2c644
lea eax, [ebp - 0x108]
push eax
call fcn.0093533b
add esp, 8
nop word [eax + eax]
push ebp
sub esp, 0x18
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x18
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x18
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x18
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x18
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x18
add ebp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.0065b8a0
add esp, 0x18
pop ebp
ret