Function at 0x10027970
Capabilities:
Create directory

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f9bc3
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x480
mov eax, dword [0x1013306c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebx + 8]
push esi
push str.CHalFunction::WriteMyFile
push str.__s__in_:__d
mov dword [ebp - 4], 1
call fcn.10057720
xorps xmm0, xmm0
add esp, 0xc
movlpd qword [ebp - 0x424], xmm0
mov dword [ebp - 0x424], 0
mov dword [ebp - 0x420], 0
lea ecx, [ebp - 0x424]
mov byte [ebp - 4], 2
call fcn.10010c40
push str.file_data
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x41c], 0
push eax
xor eax, eax
lea ecx, [ebp - 0x420]
cmp dword [ebp - 0x420], eax
cmove ecx, eax
call fcn.10010400
cmp dword [ebx + 0x38], 0x10
lea eax, [ebx + 0x24]
lea ecx, [ebp - 0x41c]
cmovae eax, dword [ebx + 0x24]
xor edx, edx
cmp dword [ebp - 0x41c], edx
push eax
cmove ecx, edx
call fcn.100105c0
xorps xmm0, xmm0
movlpd qword [ebp - 0x474], xmm0
mov dword [ebp - 0x474], 0
mov dword [ebp - 0x470], 0
push 0x400
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 3
push 0
push eax
call fcn.100cdcc0
sub esp, 0xc
xor eax, eax
mov ecx, esp
push 6
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push str.AIOFan
mov word [ecx], ax
call fcn.10004ac0
push esi
lea eax, [ebp - 0x48c]
mov ecx, edi
push eax
call fcn.1002ad10
cmp dword [ebp - 0x478], 8
lea eax, [ebp - 0x48c]
push 0
cmovae eax, dword [ebp - 0x48c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x48c]
cmp dword [ebp - 0x478], 8
cmovae eax, dword [ebp - 0x48c]
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.100580a0
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x478]
cmp edx, 8
jb 0x10027b3b
mov ecx, dword [ebp - 0x48c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10027b31
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f28
push edx
push ecx
call fcn.100713c7
add esp, 8
mov esi, dword [ebp - 0x45c]
lea edx, [ebp - 0x46c]
xor eax, eax
mov dword [ebp - 0x47c], 0
cmp dword [ebp - 0x458], 0x10
lea ecx, [ebp - 0x43c]
mov word [ebp - 0x48c], ax
cmovae edx, dword [ebp - 0x46c]
add esi, edx
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x458], 0x10
lea edx, [ebp - 0x46c]
mov word [ebp - 0x43c], ax
mov eax, esi
cmovae edx, dword [ebp - 0x46c]
sub eax, edx
mov dword [ebp - 0x478], 7
push eax
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x428], 7
call fcn.1000f2b0
push dword [ebp - 0x41c]
lea ecx, [ebp - 0x43c]
push esi
push dword [ebp - 0x41c]
call fcn.10051bc0
mov byte [ebp - 4], 7
lea edx, [ebx + 0xc]
cmp dword [ebx + 0x20], 0x10
lea ecx, [ebp - 0x454]
mov esi, dword [ebx + 0x1c]
cmovae edx, dword [ebx + 0xc]
add esi, edx
mov dword [ebp - 0x444], 0
cmp dword [ebx + 0x20], 0x10
lea edx, [ebx + 0xc]
mov dword [ebp - 0x440], 7
cmovae edx, dword [ebx + 0xc]
xor eax, eax
mov word [ebp - 0x454], ax
mov eax, esi
sub eax, edx
mov dword [ebp - 0x41c], edx
push eax
call fcn.1000f2b0
push dword [ebp - 0x41c]
lea ecx, [ebp - 0x454]
push esi
push dword [ebp - 0x41c]
call fcn.10051bc0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x454]
cmp dword [ebp - 0x440], 8
lea eax, [ebp - 0x43c]
cmovae ecx, dword [ebp - 0x454]
cmp dword [ebp - 0x428], 8
push ecx
cmovae eax, dword [ebp - 0x43c]
push eax
lea eax, [ebp - 0x418]
push 0x1011fa90
push eax
call fcn.1001aa00
add esp, 0x10
lea eax, [ebp - 0x43c]
cmp dword [ebp - 0x428], 8
cmovae eax, dword [ebp - 0x43c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp - 0x424]
call fcn.10010d20
test al, al
jne 0x10027cb3
xor esi, esi
jmp 0x10027d71
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x48c]
push eax
call fcn.100580a0
sub esp, 0x18
mov byte [ebp - 4], 9
mov esi, esp
mov ecx, eax
mov dword [ebp - 0x41c], esi
push 0x14
push str._WriteMyFile__File:
push 0
call fcn.10007fa0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.10017ef0
mov byte [ebp - 4], 8
add esp, 0x18
mov edx, dword [ebp - 0x478]
cmp edx, 0x10
jb 0x10027d5a
mov ecx, dword [ebp - 0x48c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10027d50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f2d
push edx
push ecx
call fcn.100713c7
add esp, 8
push str.CHalFunction::WriteMyFile
push str.__s__out
call fcn.10057720
add esp, 8
mov esi, 1
mov edx, dword [ebp - 0x440]
cmp edx, 8
jb 0x10027db1
mov ecx, dword [ebp - 0x454]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10027da7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f32
push edx
push ecx
call fcn.100713c7
add esp, 8
mov edx, dword [ebp - 0x428]
xor eax, eax
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 7
mov word [ebp - 0x454], ax
cmp edx, 8
jb 0x10027e0e
mov ecx, dword [ebp - 0x43c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10027e04
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f37
push edx
push ecx
call fcn.100713c7
add esp, 8
mov edx, dword [ebp - 0x458]
xor eax, eax
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 7
mov word [ebp - 0x43c], ax
cmp edx, 0x10
jb 0x10027e65
mov ecx, dword [ebp - 0x46c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10027e5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f3c
push edx
push ecx
call fcn.100713c7
add esp, 8
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0xf
mov byte [ebp - 0x46c], 0
test ecx, ecx
je 0x10027e90
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebx + 0x20]
cmp edx, 0x10
jb 0x10027ec4
mov ecx, dword [ebx + 0xc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10027eba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f41
push edx
push ecx
call fcn.100713c7
add esp, 8
mov edx, dword [ebx + 0x38]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0xf
mov byte [ebx + 0xc], 0
cmp edx, 0x10
jb 0x10027f06
mov ecx, dword [ebx + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10027efc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027f46
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10070d87
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x34
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
int3