Function at 0x10027290
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 0x100f9b33
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4a8
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 eax, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x488], eax
push esi
push str.CHalFunction::ReadMyFile
push str.__s__in_:__d
mov dword [ebp - 4], 0
call fcn.10057720
xorps xmm0, xmm0
add esp, 0xc
movlpd qword [ebp - 0x420], xmm0
mov dword [ebp - 0x420], 0
mov dword [ebp - 0x41c], 0
xor eax, eax
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
push 0x400
push eax
lea eax, [ebp - 0x418]
mov byte [ebp - 4], 2
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 - 0x4a0]
mov ecx, edi
push eax
call fcn.1002ad10
cmp dword [ebp - 0x48c], 8
lea eax, [ebp - 0x4a0]
push 0
cmovae eax, dword [ebp - 0x4a0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov byte [ebp - 4], 3
lea eax, [ebp - 0x4a0]
cmp dword [ebp - 0x48c], 8
cmovae eax, dword [ebp - 0x4a0]
push eax
lea eax, [ebp - 0x480]
push eax
call fcn.100580a0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x48c]
cmp edx, 8
jb 0x10027404
mov ecx, dword [ebp - 0x4a0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100273fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002793a
push edx
push ecx
call fcn.100713c7
add esp, 8
mov esi, dword [ebp - 0x470]
lea edx, [ebp - 0x480]
xor eax, eax
mov dword [ebp - 0x490], 0
cmp dword [ebp - 0x46c], 0x10
lea ecx, [ebp - 0x450]
mov word [ebp - 0x4a0], ax
cmovae edx, dword [ebp - 0x480]
add esi, edx
mov dword [ebp - 0x440], eax
cmp dword [ebp - 0x46c], 0x10
lea edx, [ebp - 0x480]
mov word [ebp - 0x450], ax
mov eax, esi
cmovae edx, dword [ebp - 0x480]
sub eax, edx
mov dword [ebp - 0x48c], 7
push eax
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x43c], 7
call fcn.1000f2b0
push dword [ebp - 0x484]
lea ecx, [ebp - 0x450]
push esi
push dword [ebp - 0x484]
call fcn.10051bc0
mov byte [ebp - 4], 6
lea edx, [ebx + 0x10]
cmp dword [ebx + 0x24], 0x10
lea ecx, [ebp - 0x438]
mov esi, dword [ebx + 0x20]
cmovae edx, dword [ebx + 0x10]
add esi, edx
mov dword [ebp - 0x428], 0
cmp dword [ebx + 0x24], 0x10
lea edx, [ebx + 0x10]
mov dword [ebp - 0x424], 7
cmovae edx, dword [ebx + 0x10]
xor eax, eax
mov word [ebp - 0x438], ax
mov eax, esi
sub eax, edx
mov dword [ebp - 0x484], edx
push eax
call fcn.1000f2b0
push dword [ebp - 0x484]
lea ecx, [ebp - 0x438]
push esi
push dword [ebp - 0x484]
call fcn.10051bc0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x438]
cmp dword [ebp - 0x424], 8
lea eax, [ebp - 0x450]
cmovae ecx, dword [ebp - 0x438]
cmp dword [ebp - 0x43c], 8
push ecx
cmovae eax, dword [ebp - 0x450]
push eax
lea eax, [ebp - 0x418]
push 0x1011fa90
push eax
call fcn.1001aa00
add esp, 0xc
lea eax, [ebp - 0x418]
lea ecx, [ebp - 0x420]
push eax
call fcn.10010b40
test al, al
je 0x10027624
lea eax, [ebp - 0x468]
push eax
lea ecx, [ebp - 0x420]
call fcn.10010dc0
cmp dword [ebp - 0x458], 0
jbe 0x1002759c
cmp dword [ebp - 0x454], 8
lea eax, [ebp - 0x468]
cmovae eax, dword [ebp - 0x468]
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [ebp - 0x488]
mov dword [esi], eax
jmp 0x100275a2
mov esi, dword [ebp - 0x488]
sub esp, 0x18
lea eax, [ebx + 0x10]
mov ecx, esp
mov edx, str._ReadMyFile__read_file:
push eax
call fcn.1004ed20
add esp, 4
call fcn.10017ef0
push str.CHalFunction::ReadMyFile
push str.__s__strOutputXml
call fcn.10057720
mov esi, dword [esi]
add esp, 8
mov edx, esp
mov ecx, esi
xor eax, eax
mov dword [edx + 0x10], 0
lea edi, [ecx + 2]
mov dword [edx + 0x14], 7
mov word [edx], ax
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100275f0
sub ecx, edi
sar ecx, 1
push ecx
push esi
mov ecx, edx
call fcn.10004ac0
call fcn.10017fa0
push str.CHalFunction::ReadMyFile
push str.__s_______strOutputXml_____
call fcn.10057720
add esp, 0x20
jmp 0x10027757
push 0x1011f240
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [ebp - 0x488]
lea ecx, [ebp - 0x4b8]
mov edx, str._ReadMyFile__no_such_file:
mov dword [esi], eax
lea eax, [ebp - 0x480]
push eax
call fcn.1004ed20
add esp, 4
push 0x1011fab8
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.1000f5b0
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x48c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4a0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x490], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebx + 0x10]
mov ecx, esp
lea edx, [ebp - 0x4a0]
push eax
call fcn.100080c0
add esp, 4
call fcn.10017ef0
mov byte [ebp - 4], 8
add esp, 0x18
mov edx, dword [ebp - 0x48c]
cmp edx, 0x10
jb 0x100276fe
mov ecx, dword [ebp - 0x4a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100276f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002793f
push edx
push ecx
call fcn.100713c7
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x4a4]
mov dword [ebp - 0x490], 0
mov dword [ebp - 0x48c], 0xf
mov byte [ebp - 0x4a0], 0
cmp edx, 0x10
jb 0x10027757
mov ecx, dword [ebp - 0x4b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002774d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027944
push edx
push ecx
call fcn.100713c7
add esp, 8
push str.CHalFunction::ReadMyFile
push str.__s__out
call fcn.10057720
mov edx, dword [ebp - 0x424]
add esp, 8
cmp edx, 8
jb 0x100277a9
mov ecx, dword [ebp - 0x438]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1002779f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027949
push edx
push ecx
call fcn.100713c7
add esp, 8
mov edx, dword [ebp - 0x43c]
xor eax, eax
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 7
mov word [ebp - 0x438], ax
cmp edx, 8
jb 0x10027806
mov ecx, dword [ebp - 0x450]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100277fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002794e
push edx
push ecx
call fcn.100713c7
add esp, 8
mov edx, dword [ebp - 0x46c]
xor eax, eax
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 7
mov word [ebp - 0x450], ax
cmp edx, 0x10
jb 0x1002785d
mov ecx, dword [ebp - 0x480]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10027853
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027953
push edx
push ecx
call fcn.100713c7
add esp, 8
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x470], 0
mov dword [ebp - 0x46c], 0xf
mov byte [ebp - 0x480], 0
cmp edx, 8
jb 0x100278b8
mov ecx, dword [ebp - 0x468]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100278ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10027958
push edx
push ecx
call fcn.100713c7
add esp, 8
mov ecx, dword [ebp - 0x420]
xor eax, eax
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 7
mov word [ebp - 0x468], ax
test ecx, ecx
je 0x100278e5
mov eax, dword [ecx]
push 1
call dword [eax]
mov edx, dword [ebx + 0x24]
cmp edx, 0x10
jb 0x10027915
mov ecx, dword [ebx + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002790b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002795d
push edx
push ecx
call fcn.100713c7
add esp, 8
mov eax, 1
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 0x20
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
call fcn.100d4798
int3