Function at 0x406a70
Capabilities:
Create directory
Write file on windows

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor ebx, ebx
mov edi, 0x14c
mov edi, edi
mov ecx, dword [esi + 0x218]
push ebx
call fcn.00408990
test eax, eax
je 0x406aa6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401290
mov dword [eax + edi], ebp
jmp 0x406ab2
call fcn.00401290
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x160
jl 0x406a80
xor ebx, ebx
mov edi, 0x160
jmp 0x406ad0
mov ecx, dword [esi + 0x21c]
push ebx
call fcn.00408990
test eax, eax
je 0x406af6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401290
mov dword [eax + edi], ebp
jmp 0x406b02
call fcn.00401290
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x170
jl 0x406ad0
xor ebx, ebx
mov edi, 0x170
jmp 0x406b20
mov ecx, dword [esi + 0x220]
push ebx
call fcn.00408990
test eax, eax
je 0x406b46
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401290
mov dword [eax + edi], ebp
jmp 0x406b52
call fcn.00401290
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x178
jl 0x406b20
xor ebx, ebx
mov edi, 0x178
jmp 0x406b70
mov ecx, dword [esi + 0x224]
push ebx
call fcn.00408990
test eax, eax
je 0x406b96
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401290
mov dword [eax + edi], ebp
jmp 0x406ba2
call fcn.00401290
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x180
jl 0x406b70
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e5
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x240], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e6
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x180], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ea
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x184], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e7
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x228], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e8
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x22c], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3eb
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x188], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ed
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x18c], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ec
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x250], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ee
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x254], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ef
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x190], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f0
mov ecx, esi
call eax
cmp dword [eax + 0x2f8], 0
je 0x406d48
call fcn.00401290
mov dword [eax + 0x12c], 1
jmp 0x406d57
call fcn.00401290
mov dword [eax + 0x12c], 0
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f2
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0xf0], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f4
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0xf4], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f6
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0xf8], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f8
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x194], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3fa
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x198], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f3
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x218], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f5
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x220], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f7
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x21c], edi
mov edx, dword [esi]
push 0x3f9
mov eax, dword [edx + 0x60]
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x258], edi
mov ebx, 0x401
mov edi, 0x25c
mov dword [esp + 0x10], 5
mov edx, dword [esi]
mov edx, dword [edx + 0x60]
lea eax, [ebx - 6]
push eax
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov ebp, eax
call fcn.00401290
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x406eb0
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x408
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x19c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x406
mov ecx, esi
call edx
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov edi, eax
call fcn.00401290
mov dword [eax + 0x204], edi
mov ebx, 0x426
mov edi, 0x270
mov dword [esp + 0x10], 4
lea esp, [esp]
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 5]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov ebp, eax
call fcn.00401290
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x406f60
mov ebx, 0x42d
mov edi, 0x280
mov dword [esp + 0x10], 2
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 3]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov ebp, eax
call fcn.00401290
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x406fc0
mov ebx, 0x432
mov edi, 0x288
mov dword [esp + 0x10], 2
nop
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 3]
push ecx
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + edi - 0xbc], ebp
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push ebx
mov ecx, esi
call edx
mov ecx, eax
call fcn.0042a310
push eax
call fcn.00583082
add esp, 4
mov ebp, eax
call fcn.00401290
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x407020
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x434
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0xfc], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x435
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x10c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x436
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x110], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x437
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x118], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x438
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x120], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x43b
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + 0x148], edi
xor ebx, ebx
mov edi, 0x290
mov edi, edi
call fcn.00401290
mov ecx, dword [esi + edi - 0x2c]
mov dword [eax + edi], ecx
mov edx, dword [esi]
mov edx, dword [edx + 0x60]
lea eax, [ebx + 0x41b]
push eax
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.00401290
mov dword [eax + edi - 0xbc], ebp
add edi, 4
inc ebx
cmp edi, 0x2a8
jl 0x407130
mov ecx, dword [esi + 0x228]
push 0
call fcn.00408990
test eax, eax
je 0x407194
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx esi, ax
call fcn.00401290
mov dword [eax + 0x2a8], esi
jmp 0x4071a3
call fcn.00401290
mov dword [eax + 0x2a8], 0
movzx esi, word [0x71925c]
call fcn.00401290
mov dword [eax + 0x230], esi
call fcn.00401290
pop edi
pop esi
pop ebp
mov ecx, eax
pop ebx
add esp, 4
jmp fcn.00402df0