Function at 0x467870
Capabilities:
Write file on windows

Disassembly:
mov ax, word [esp + 4]
sub esp, 0xc
test ax, ax
push ebx
push ebp
push esi
push edi
mov esi, ecx
je 0x467895
cmp ax, 1
je 0x467895
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 0x10
movsx edi, ax
mov eax, edi
mov ebp, dword [fcn.0065e260]
shl eax, 5
lea ebx, [eax + esi]
mov dword [esp + 0x20], ebx
add ebx, 0xc
push ebx
call ebp
mov ecx, esi
call fcn.004672f0
test eax, eax
jne 0x4678c5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
mov ecx, dword [esp + 0x20]
add ecx, 4
mov dword [esp + 0x18], ecx
mov edx, dword [ecx]
call dword [edx + 0x1c]
mov eax, dword [esi + edi*4 + 0x24c]
test eax, eax
jne 0x4678ec
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 0x10
push ebx
call ebp
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + edi*4 + 0x258]
mov ebp, dword [fcn.0065f1d4]
mov dword [esp + 0x20], 0
lea ebx, [ecx + ecx*2]
shl ebx, 0xa
mov edx, dword [eax + ebx + 0x14]
test edx, edx
jle 0x467a07
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], 0x20
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
push 0
cmp edx, dword [esp + 0x30]
ja 0x4679aa
mov edx, dword [esp + 0x24]
lea ecx, [ecx + ecx*2]
shl ecx, 8
add ecx, edx
mov eax, dword [eax + ecx*4 + 0x18]
lea edx, [eax + eax*2]
mov eax, dword [esi + edi*4 + 0x24c]
shl edx, 0xa
push edx
push eax
call ebp
mov ecx, dword [esi + edi*4 + 0x24c]
mov edx, dword [esp + 0x20]
push ecx
push 1
push 0xc00
push edx
call dword [fcn.0065f1b4]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
add eax, 0xc00
mov dword [esp + 0x30], eax
mov eax, dword [esi + edi*4 + 0x258]
add edx, 0x20
add esp, 0x1c
mov dword [esp + 0x10], edx
mov edx, dword [eax + ebx + 0x14]
inc ecx
mov dword [esp + 0x20], ecx
cmp ecx, edx
mov ecx, dword [esp + 0x24]
jl 0x46792a
jmp 0x467a07
mov edx, dword [esp + 0x24]
lea eax, [ecx + ecx*2]
mov ecx, dword [esi + edi*4 + 0x258]
shl eax, 8
add eax, edx
mov eax, dword [ecx + eax*4 + 0x18]
lea edx, [eax + eax*2]
mov eax, dword [esi + edi*4 + 0x24c]
shl edx, 0xa
push edx
push eax
call ebp
mov ecx, dword [esi + edi*4 + 0x24c]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [eax + eax*2]
push 1
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x3c]
shl eax, 0xa
shl edx, 5
sub edx, eax
add eax, ecx
push edx
push eax
call dword [fcn.0065f1b4]
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov eax, dword [esi + edi*4 + 0x258]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + ebx + 0x14]
cmp edx, eax
jl 0x467bdf
mov edx, eax
shl edx, 5
cmp edx, dword [esp + 0x2c]
jae 0x467ba6
lea ecx, [ecx + ecx*2]
lea edx, [edi + edi*2]
shl ecx, 8
shl edx, 0xa
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jmp 0x467a47
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x254]
add ecx, eax
mov eax, dword [esp + 0x14]
push 0
mov edx, dword [eax + edx + 8]
mov eax, dword [esi + edi*4 + 0x258]
mov dword [eax + ecx*4 + 0x18], edx
mov eax, dword [esi + 0x254]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + eax + 8]
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esi + edi*4 + 0x258]
mov ecx, dword [eax + ebx + 0x14]
lea edx, [ecx + 1]
shl edx, 5
cmp edx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
ja 0x467ad7
add edx, ecx
mov ecx, dword [esi + edi*4 + 0x24c]
mov eax, dword [eax + edx*4 + 0x18]
lea eax, [eax + eax*2]
shl eax, 0xa
push eax
push ecx
call ebp
mov eax, dword [esp + 0x2c]
mov edx, dword [esi + edi*4 + 0x24c]
push edx
mov edx, dword [esp + 0x38]
lea eax, [eax + eax*2]
push 1
shl eax, 0xa
add eax, edx
push 0xc00
push eax
call dword [fcn.0065f1b4]
add esp, 0x1c
jmp 0x467b78
add edx, ecx
mov ecx, dword [esi + edi*4 + 0x24c]
mov eax, dword [eax + edx*4 + 0x18]
lea eax, [eax + eax*2]
shl eax, 0xa
push eax
push ecx
call ebp
mov edx, dword [esi + edi*4 + 0x24c]
lea eax, [esi + 0x260]
push edx
push 1
push 0xc00
push eax
call dword [fcn.0065f1b4]
mov ecx, dword [esi + edi*4 + 0x24c]
push 2
push 0
push ecx
call ebp
mov eax, dword [esi + edi*4 + 0x258]
mov ecx, dword [esp + 0x38]
push 0
mov edx, dword [eax + ebx + 0x14]
add edx, ecx
mov ecx, dword [esi + edi*4 + 0x24c]
mov eax, dword [eax + edx*4 + 0x18]
lea eax, [eax + eax*2]
shl eax, 0xa
push eax
push ecx
call ebp
mov edx, dword [esi + edi*4 + 0x258]
mov ecx, dword [esi + edi*4 + 0x24c]
push ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [ebx + edx + 0x14]
push 1
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x64]
lea eax, [eax + eax*2]
shl eax, 0xa
shl edx, 5
sub edx, eax
add eax, ecx
push edx
push eax
call dword [fcn.0065f1b4]
add esp, 0x44
mov edx, dword [esi + edi*4 + 0x258]
mov ecx, dword [ebx + edx + 0x14]
lea eax, [ebx + edx + 0x14]
inc ecx
mov edx, dword [esp + 0x2c]
mov dword [eax], ecx
mov eax, dword [esi + edi*4 + 0x258]
mov eax, dword [eax + ebx + 0x14]
mov ecx, eax
shl ecx, 5
cmp ecx, edx
jb 0x467a43
mov edx, dword [esi + edi*4 + 0x24c]
push 0
push 0
push edx
call ebp
mov eax, dword [esi + edi*4 + 0x24c]
lea ecx, [edi + edi*2]
push eax
mov eax, dword [esi + 0x254]
shl ecx, 0xa
push 1
add ecx, eax
push 0xc00
push ecx
call dword [fcn.0065f1b4]
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov edx, dword [esi + edi*4 + 0x258]
mov eax, dword [esp + 0x2c]
lea ecx, [ecx + ecx*2 + 3]
push 0
mov dword [ebx + edx + 0x10], eax
mov edx, dword [esi + edi*4 + 0x24c]
shl ecx, 0xa
push ecx
push edx
call ebp
mov eax, dword [esi + edi*4 + 0x24c]
mov edx, dword [esi + edi*4 + 0x258]
push eax
push 1
add ebx, edx
push 0xc00
push ebx
call dword [fcn.0065f1b4]
mov ecx, dword [esp + 0x34]
add esp, 0x1c
mov edx, dword [ecx]
call dword [edx + 0x1c]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc
ret 0x10