Function at 0x406630
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.00406de0
test eax, eax
je 0x406666
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.004011c0
mov dword [eax + edi], ebp
jmp 0x406672
call fcn.004011c0
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x160
jl 0x406640
xor ebx, ebx
mov edi, 0x160
jmp 0x406690
mov ecx, dword [esi + 0x21c]
push ebx
call fcn.00406de0
test eax, eax
je 0x4066b6
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.004011c0
mov dword [eax + edi], ebp
jmp 0x4066c2
call fcn.004011c0
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x170
jl 0x406690
xor ebx, ebx
mov edi, 0x170
jmp 0x4066e0
mov ecx, dword [esi + 0x220]
push ebx
call fcn.00406de0
test eax, eax
je 0x406706
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.004011c0
mov dword [eax + edi], ebp
jmp 0x406712
call fcn.004011c0
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x178
jl 0x4066e0
xor ebx, ebx
mov edi, 0x178
jmp 0x406730
mov ecx, dword [esi + 0x224]
push ebx
call fcn.00406de0
test eax, eax
je 0x406756
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx ebp, ax
call fcn.004011c0
mov dword [eax + edi], ebp
jmp 0x406762
call fcn.004011c0
mov dword [eax + edi], 0
add edi, 4
inc ebx
cmp edi, 0x180
jl 0x406730
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e5
mov ecx, esi
call eax
mov ecx, eax
call fcn.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x240], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3e6
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x180], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ea
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x22c], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3eb
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x188], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ed
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x18c], edi
mov edx, dword [esi]
push 0x3ec
mov eax, dword [edx + 0x60]
mov ecx, esi
call eax
mov ecx, eax
call fcn.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x254], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3ef
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x190], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f0
mov ecx, esi
call eax
mov ecx, eax
call fcn.00406e30
test eax, eax
je 0x406919
call fcn.004011c0
mov dword [eax + 0x12c], 1
jmp 0x406928
call fcn.004011c0
mov dword [eax + 0x12c], 0
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f2
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0xf0], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f4
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0xf4], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f6
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0xf8], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f8
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x194], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3fa
mov ecx, esi
call eax
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x21c], edi
mov edx, dword [esi]
mov eax, dword [edx + 0x60]
push 0x3f9
mov ecx, esi
call eax
mov ecx, eax
call fcn.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
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 ecx, eax
call fcn.004128f0
mov ebp, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov ebp, eax
call fcn.004011c0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
sub dword [esp + 0x10], 1
jne 0x406a90
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x408
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x204], edi
mov ebx, 0x426
mov edi, 0x270
mov dword [esp + 0x10], 4
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 5]
push ecx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov ebp, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov ebp, eax
call fcn.004011c0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
sub dword [esp + 0x10], 1
jne 0x406b40
mov ebx, 0x42d
mov edi, 0x280
mov dword [esp + 0x10], 2
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 3]
push ecx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov ebp, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov ebp, eax
call fcn.004011c0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
sub dword [esp + 0x10], 1
jne 0x406ba3
mov ebx, 0x432
mov edi, 0x288
mov dword [esp + 0x10], 2
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
lea ecx, [ebx - 3]
push ecx
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov ebp, eax
call fcn.004011c0
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.00428ee0
push eax
call fcn.0055b22d
add esp, 4
mov ebp, eax
call fcn.004011c0
mov dword [eax + edi], ebp
add edi, 4
inc ebx
sub dword [esp + 0x10], 1
jne 0x406c06
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x434
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0xfc], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x435
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x10c], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x436
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x110], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x437
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x118], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x438
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x120], edi
mov eax, dword [esi]
mov edx, dword [eax + 0x60]
push 0x43b
mov ecx, esi
call edx
mov ecx, eax
call fcn.004128f0
mov edi, eax
call fcn.004011c0
mov dword [eax + 0x148], edi
xor ebx, ebx
mov edi, 0x290
lea ebx, [ebx]
call fcn.004011c0
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 ecx, eax
call fcn.004128f0
mov ebp, eax
call fcn.004011c0
mov dword [eax + edi - 0xbc], ebp
add edi, 4
inc ebx
cmp edi, 0x2a8
jl 0x406d30
mov ecx, dword [esi + 0x228]
push 0
call fcn.00406de0
test eax, eax
je 0x406d97
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x78]
call eax
movzx esi, ax
call fcn.004011c0
mov dword [eax + 0x2a8], esi
jmp 0x406da6
call fcn.004011c0
mov dword [eax + 0x2a8], 0
mov ecx, 0x6db7d0
call fcn.00401380
movzx esi, ax
call fcn.004011c0
mov dword [eax + 0x230], esi
call fcn.004011c0
pop edi
pop esi
pop ebp
mov ecx, eax
pop ebx
add esp, 4
jmp fcn.00402cc0