Function at 0x818790
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x88818e
mov eax, dword fs:[0]
push eax
sub esp, 0x380
mov eax, dword [0xb9e498]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0xd], 0
lea eax, [ebp - 0x195]
mov dword [ebp - 0x194], eax
push 0
push 0
lea ecx, [ebp - 0x30]
call fcn.0041ccf0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00820de0
add esp, 8
movzx eax, al
test eax, eax
je 0x818b9d
push 0
push 0
lea ecx, [ebp - 0x68]
call fcn.0041ccf0
mov ecx, dword [0x892260]
or eax, 0x892260
push ecx
push 0
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp - 0x68]
call fcn.0041cbc0
mov byte [ebp - 4], 1
push str..rgs
call fcn.00842210
add esp, 4
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x1ec]
push eax
push str..rgs
lea ecx, [ebp - 0x68]
call fcn.00449bf0
lea ecx, [ebp - 0x1f5]
mov dword [ebp - 0x1f4], ecx
push 0
push 0
lea ecx, [ebp - 0x4c]
call fcn.0041ccf0
mov byte [ebp - 4], 2
mov edx, dword [0xb55ec8]
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
push eax
call fcn.00842210
add esp, 4
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
push ecx
mov edx, dword [ebp - 0x200]
push edx
mov eax, dword [ebp - 0x1c]
push eax
push 0
lea ecx, [ebp - 0x30]
call fcn.00481e10
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
test ecx, ecx
je 0x81890e
movzx edx, byte [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00818d00
add esp, 0x10
mov byte [ebp - 0x18a], al
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.0041ccf0
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x68]
call fcn.0041ccf0
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.0041ccf0
mov al, byte [ebp - 0x18a]
jmp 0x818bbf
lea eax, [ebp - 0x4c]
push eax
call fcn.00818650
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x818b7d
push str.RedGiant
call fcn.00842210
add esp, 4
mov dword [ebp - 0x318], eax
mov edx, dword [ebp - 0x318]
push edx
push str.RedGiant
lea ecx, [ebp - 0x4c]
call fcn.00449bf0
cmp dword [ebp - 0x34], 0x10
jb 0x81895d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x374], eax
jmp 0x818966
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x374], ecx
push 0
mov edx, dword [ebp - 0x374]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push str.Licenses_
call fcn.00842210
add esp, 4
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
push eax
push str.Licenses_
lea ecx, [ebp - 0x4c]
call fcn.00449bf0
cmp dword [ebp - 0x34], 0x10
jb 0x8189ad
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x378], ecx
jmp 0x8189b6
lea edx, [ebp - 0x48]
mov dword [ebp - 0x378], edx
push 0
mov eax, dword [ebp - 0x378]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ecx, dword [0x892260]
push ecx
push 0
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00449d90
cmp dword [ebp - 0x34], 0x10
jb 0x8189eb
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x37c], eax
jmp 0x8189f4
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x37c], ecx
push 0xb55f64
mov edx, dword [ebp - 0x37c]
push edx
call fcn.0083e107
add esp, 8
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
je 0x818b52
mov byte [ebp - 0x16c], 0
push 0xff
push 0
lea eax, [ebp - 0x16b]
push eax
call fcn.0083d630
add esp, 0xc
cmp dword [ebp - 0x18], 0x10
jb 0x818a43
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x380], ecx
jmp 0x818a4c
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x380], edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x380]
push ecx
push str._s_s_n
push 0xff
lea edx, [ebp - 0x16c]
push edx
call fcn.0083e255
add esp, 0x14
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x188]
call fcn.0046fb80
mov byte [ebp - 4], 3
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x188]
push ecx
lea ecx, [ebp - 0x189]
call fcn.00820890
cmp dword [ebp - 0x170], 0x10
jb 0x818ab3
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x384], edx
jmp 0x818abf
lea eax, [ebp - 0x184]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x384]
push edx
call fcn.00845422
add esp, 8
mov eax, dword [ebp - 0x6c]
push eax
call fcn.0083deab
add esp, 4
cmp dword [ebp - 0x34], 0x10
jb 0x818aef
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x388], ecx
jmp 0x818af8
lea edx, [ebp - 0x48]
mov dword [ebp - 0x388], edx
push 0x180
mov eax, dword [ebp - 0x388]
push eax
call fcn.00845653
add esp, 8
cmp dword [ebp - 0x34], 0x10
jb 0x818b1d
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x38c], ecx
jmp 0x818b26
lea edx, [ebp - 0x48]
mov dword [ebp - 0x38c], edx
mov eax, dword [ebp - 0x38c]
push eax
call fcn.00818be0
add esp, 4
mov byte [ebp - 0xd], 1
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
push 0
push 1
lea ecx, [ebp - 0x188]
call fcn.0041ccf0
jmp 0x818b7d
push str.perror_says_open_failed
call fcn.00845559
add esp, 4
call fcn.008445c0
mov ecx, dword [eax]
push ecx
call fcn.008455e7
add esp, 4
push eax
push str.strerror_says_open_failed:__s_n
call fcn.0083e6ca
add esp, 8
mov byte [ebp - 4], 1
push 0
push 1
lea ecx, [ebp - 0x4c]
call fcn.0041ccf0
mov byte [ebp - 4], 0
push 0
push 1
lea ecx, [ebp - 0x68]
call fcn.0041ccf0
mov dl, byte [ebp - 0xd]
mov byte [ebp - 0x18b], dl
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.0041ccf0
mov al, byte [ebp - 0x18b]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00841e91
mov esp, ebp
pop ebp
ret