Function at 0x410570
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x480230]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
lea edx, [ebp - 0x62]
mov dword [ebp - 0x74], edi
xor ebx, ebx
mov ax, word [edi]
lea esi, [edi + 0x12]
mov word [ebp - 0x70], ax
movzx eax, byte [edi + 2]
mov byte [ebp - 0x6e], al
movzx eax, byte [edi + 3]
mov byte [ebp - 0x6d], al
mov eax, dword [edi + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x68], eax
mov ax, word [esi - 2]
xor ecx, ecx
mov word [edx - 2], ax
movzx eax, byte [esi]
mov byte [edx], al
movzx eax, byte [esi + 1]
mov byte [edx + 1], al
movsx eax, bl
add eax, 2
lea eax, [eax + eax*2]
mov eax, dword [edi + eax*4]
test eax, eax
je 0x4105df
mov eax, dword [eax + 4]
inc ecx
test eax, eax
jne 0x4105d7
mov word [edx + 2], cx
inc ebx
add esi, 0xc
add edx, 6
cmp ebx, 0x10
jl 0x4105b1
push 0x46f1d0
push 0x481210
call fcn.00426e25
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x41062d
push eax
push 0x13
push 0x2e
push dword [0x483aa4]
call fcn.00413860
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004192c7
mov esp, ebp
pop ebp
ret
mov ecx, 2
lea eax, [ebp - 0x32]
mov esi, 3
lea edx, [ecx + 6]
nop dword [eax]
cmp byte [eax], 0xc
lea eax, [eax + 6]
cmovae ecx, esi
sub edx, 1
jne 0x410640
push ebx
cmp ecx, 2
mov edx, str.Org_02
push 6
mov eax, str.Org_03
cmove eax, edx
push 1
push eax
call fcn.00446dc5
push ebx
push 1
lea eax, [ebp - 0x70]
push 0x6c
push eax
call fcn.00446dc5
mov esi, dword [ebp - 0x74]
lea edi, [ebp - 0x60]
add esp, 0x20
mov eax, 0x10
add esi, 0x18
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], esi
nop
mov esi, dword [esi]
test esi, esi
je 0x4107c5
movzx eax, word [edi]
xor ecx, ecx
mov dword [ebp - 0x74], 0
cmp cx, ax
jae 0x4106d9
nop dword [eax + eax]
push ebx
push 1
lea eax, [esi + 8]
push 4
push eax
call fcn.00446dc5
mov ecx, dword [ebp - 0x74]
add esp, 0x10
movzx edx, word [edi]
inc ecx
mov esi, dword [esi + 4]
mov dword [ebp - 0x74], ecx
cmp ecx, edx
jl 0x4106b0
mov esi, dword [ebp - 0x78]
mov eax, edx
mov esi, dword [esi]
xor edx, edx
mov dword [ebp - 0x74], 0
movzx ecx, ax
cmp dx, ax
jae 0x410719
nop word [eax + eax]
push ebx
push 1
lea eax, [esi + 0xd]
push 1
push eax
call fcn.00446dc5
mov ecx, dword [ebp - 0x74]
add esp, 0x10
movzx edx, word [edi]
inc ecx
mov esi, dword [esi + 4]
mov dword [ebp - 0x74], ecx
cmp ecx, edx
jl 0x4106f0
mov eax, dword [ebp - 0x78]
mov ecx, edx
mov esi, dword [eax]
xor eax, eax
mov dword [ebp - 0x74], 0
movzx edx, cx
cmp ax, cx
jae 0x410757
nop word [eax + eax]
push ebx
push 1
lea eax, [esi + 0xc]
push 1
push eax
call fcn.00446dc5
mov ecx, dword [ebp - 0x74]
add esp, 0x10
movzx edx, word [edi]
inc ecx
mov esi, dword [esi + 4]
mov dword [ebp - 0x74], ecx
cmp ecx, edx
jl 0x410730
mov eax, dword [ebp - 0x78]
mov esi, dword [eax]
xor eax, eax
mov dword [ebp - 0x74], 0
movzx ecx, dx
cmp ax, dx
jae 0x410791
push ebx
push 1
lea eax, [esi + 0xe]
push 1
push eax
call fcn.00446dc5
mov ecx, dword [ebp - 0x74]
add esp, 0x10
movzx edx, word [edi]
inc ecx
mov esi, dword [esi + 4]
mov dword [ebp - 0x74], ecx
cmp ecx, edx
jl 0x410768
mov eax, dword [ebp - 0x78]
mov ecx, edx
mov esi, dword [eax]
xor eax, eax
mov dword [ebp - 0x74], 0
cmp ax, cx
jae 0x4107c2
nop
push ebx
push 1
lea eax, [esi + 0xf]
push 1
push eax
call fcn.00446dc5
mov ecx, dword [ebp - 0x74]
add esp, 0x10
movzx eax, word [edi]
inc ecx
mov esi, dword [esi + 4]
mov dword [ebp - 0x74], ecx
cmp ecx, eax
jl 0x4107a0
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add edi, 6
add esi, 0xc
sub eax, 1
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x7c], eax
jne 0x410690
push ebx
call fcn.00426ae3
push 0x481210
call fcn.00412f90
add esp, 8
cmp dword [0x480e90], 0
je 0x4107fe
call fcn.00412130
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004192c7
mov esp, ebp
pop ebp
ret