Function at 0x406ba0
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.00408970
test eax, eax
je 0x406bd6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401240
mov dword [eax + edi], ebp
jmp 0x406be2
call fcn.00401240
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x160
jl 0x406bb0
xor ebx, ebx
mov edi, 0x160
jmp 0x406c00
mov ecx, dword [esi + 0x21c]
push ebx
call fcn.00408970
test eax, eax
je 0x406c26
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401240
mov dword [eax + edi], ebp
jmp 0x406c32
call fcn.00401240
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x170
jl 0x406c00
xor ebx, ebx
mov edi, 0x170
jmp 0x406c50
mov ecx, dword [esi + 0x220]
push ebx
call fcn.00408970
test eax, eax
je 0x406c76
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401240
mov dword [eax + edi], ebp
jmp 0x406c82
call fcn.00401240
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x178
jl 0x406c50
xor ebx, ebx
mov edi, 0x178
jmp 0x406ca0
mov ecx, dword [esi + 0x224]
push ebx
call fcn.00408970
test eax, eax
je 0x406cc6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.00401240
mov dword [eax + edi], ebp
jmp 0x406cd2
call fcn.00401240
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x180
jl 0x406ca0
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e2
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x240], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e3
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x180], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e7
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x184], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e4
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x228], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e5
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x22c], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e8
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x188], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ea
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x18c], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e9
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x250], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3eb
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x254], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ec
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x190], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ed
mov ecx, esi
call eax
cmp dword [eax + 0x2f8], 0
je 0x406e78
call fcn.00401240
mov dword [eax + 0x12c], 1
jmp 0x406e87
call fcn.00401240
mov dword [eax + 0x12c], 0
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ef
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0xf0], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f1
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0xf4], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f3
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0xf8], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f5
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x194], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f7
mov ecx, esi
call eax
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x198], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f0
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x218], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f2
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x220], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f4
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x21c], edi
mov edx, dword [esi]
push 0x3f6
mov eax, dword [edx + 0x60]
mov ecx, esi
call eax
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x258], edi
mov ebx, 0x3fe
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.00401240
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.0042b590
push eax
call fcn.0058a676
add esp, 4
mov ebp, eax
call fcn.00401240
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x406fe0
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x405
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x19c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x403
mov ecx, esi
call edx
mov ecx, eax
call fcn.0042b590
push eax
call fcn.0058a676
add esp, 4
mov edi, eax
call fcn.00401240
mov dword [eax + 0x204], edi
mov ebx, 0x423
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.00401240
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.0042b590
push eax
call fcn.0058a676
add esp, 4
mov ebp, eax
call fcn.00401240
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x407090
mov ebx, 0x42a
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.00401240
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.0042b590
push eax
call fcn.0058a676
add esp, 4
mov ebp, eax
call fcn.00401240
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x4070f0
mov ebx, 0x42f
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.00401240
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.0042b590
push eax
call fcn.0058a676
add esp, 4
mov ebp, eax
call fcn.00401240
mov dword [eax + edi], ebp
add edi, 4
inc ebx
dec dword [esp + 0x10]
jne 0x407150
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x431
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0xfc], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x432
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x10c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x433
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x110], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x434
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x118], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x435
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x120], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x438
mov ecx, esi
call edx
mov edi, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + 0x148], edi
xor ebx, ebx
mov edi, 0x290
mov edi, edi
call fcn.00401240
mov ecx, dword [esi + edi - 0x2c]
mov dword [eax + edi], ecx
mov edx, dword [esi]
mov edx, dword [edx + 0x60]
lea eax, [ebx + 0x418]
push eax
mov ecx, esi
call edx
mov ebp, dword [eax + 0x2bc]
call fcn.00401240
mov dword [eax + edi - 0xbc], ebp
add edi, 4
inc ebx
cmp edi, 0x2a8
jl 0x407260
mov ecx, dword [esi + 0x228]
push 0
call fcn.00408970
test eax, eax
je 0x4072c4
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx esi, ax
call fcn.00401240
mov dword [eax + 0x2a8], esi
jmp 0x4072d3
call fcn.00401240
mov dword [eax + 0x2a8], 0
movzx esi, word [0x7201ac]
call fcn.00401240
mov dword [eax + 0x230], esi
call fcn.00401240
pop edi
pop esi
pop ebp
mov ecx, eax
pop ebx
add esp, 4
jmp fcn.00402cf0