Function at 0x4214f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a0dc8
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x5f4964]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
push edi
mov eax, dword [0x5f4964]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov ebx, ecx
call fcn.00408280
mov dword [esp + 0x10], eax
lea eax, [ebp + 8]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.00408260
add esp, 8
test al, al
je 0x421558
lea edx, [ebp + 8]
push edx
call fcn.00408290
add esp, 4
jmp 0x4217f0
mov ecx, ebx
call fcn.0040b740
test eax, eax
je 0x421596
mov ecx, ebx
call fcn.0040b800
mov ecx, ebx
mov esi, eax
call fcn.0040b740
cmp eax, esi
jae 0x421596
mov ecx, ebx
call fcn.0040b960
mov esi, eax
lea eax, [ebp + 8]
push eax
call fcn.00408240
mov byte [esi], al
mov eax, dword [ebp + 8]
add esp, 4
jmp 0x4217f0
mov esi, dword [ebx + 0x4c]
test esi, esi
jne 0x4215a7
call fcn.00408280
jmp 0x4217f0
cmp dword [ebx + 0x3c], 0
jne 0x4215d0
lea ecx, [ebp + 8]
push ecx
call fcn.00408240
movsx edx, al
push esi
push edx
call fcn.0056bd3f
add esp, 0xc
cmp eax, 0xffffffff
je 0x42159d
mov eax, dword [ebp + 8]
jmp 0x4217f0
lea eax, [ebp + 8]
push eax
call fcn.00408240
add esp, 4
push 0
push 8
lea ecx, [esp + 0x24]
mov byte [esp + 0x18], al
call fcn.00409f80
mov dword [esp + 0x48], 0
lea ecx, [esp + 0x1c]
call fcn.00404e50
mov edi, eax
test edi, edi
je 0x421622
lea ecx, [esp + 0x1c]
call fcn.00404e50
cmp eax, edi
ja 0x421622
lea ecx, [esp + 0x1c]
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp edi, eax
jbe 0x421627
call fcn.0056adc1
lea ecx, [esp + 0x1c]
cmp ecx, 0xfffffffc
je 0x421642
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp edi, eax
jb 0x421642
call fcn.0056adc1
lea ecx, [esp + 0x1c]
call fcn.00404e50
mov esi, eax
test esi, esi
je 0x42166f
lea ecx, [esp + 0x1c]
call fcn.00404e50
cmp eax, esi
ja 0x42166f
lea ecx, [esp + 0x1c]
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp esi, eax
jbe 0x421674
call fcn.0056adc1
lea edx, [esp + 0x1c]
cmp edx, 0xfffffffc
je 0x421691
mov ecx, edx
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp esi, eax
jb 0x421691
call fcn.0056adc1
lea ecx, [esp + 0x1c]
call fcn.00403580
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
add eax, edi
lea edi, [esp + 0x14]
push edi
push eax
push esi
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x21]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [ebx + 0x44]
push eax
call edx
test eax, eax
jl 0x4217de
cmp eax, 1
jg 0x4217bf
lea ecx, [esp + 0x1c]
call fcn.00404e50
mov edi, eax
test edi, edi
je 0x4216fe
lea ecx, [esp + 0x1c]
call fcn.00404e50
cmp eax, edi
ja 0x4216fe
lea ecx, [esp + 0x1c]
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp edi, eax
jbe 0x421703
call fcn.0056adc1
lea eax, [esp + 0x1c]
cmp eax, 0xfffffffc
je 0x421720
mov ecx, eax
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp edi, eax
jb 0x421720
call fcn.0056adc1
mov esi, dword [esp + 0x14]
sub esi, edi
je 0x421789
lea ecx, [esp + 0x1c]
call fcn.00404e50
mov edi, eax
test edi, edi
je 0x421755
lea ecx, [esp + 0x1c]
call fcn.00404e50
cmp eax, edi
ja 0x421755
lea ecx, [esp + 0x1c]
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp edi, eax
jbe 0x42175a
call fcn.0056adc1
lea ecx, [esp + 0x1c]
cmp ecx, 0xfffffffc
je 0x421775
call fcn.00404e50
add eax, dword [esp + 0x30]
cmp edi, eax
jb 0x421775
call fcn.0056adc1
mov edx, dword [ebx + 0x4c]
push edx
push esi
push 1
push edi
call fcn.0056bcbd
add esp, 0x10
cmp esi, eax
jne 0x4217de
lea eax, [esp + 0x10]
mov byte [ebx + 0x41], 1
cmp dword [esp + 0x18], eax
jne 0x4217d9
test esi, esi
ja 0x4215f5
lea ecx, [esp + 0x1c]
call fcn.00403580
cmp eax, 0x20
jae 0x4217de
push 0
push 8
lea ecx, [esp + 0x24]
call fcn.0040b3f0
jmp 0x4215f5
cmp eax, 3
jne 0x4217de
mov ecx, dword [ebx + 0x4c]
mov edx, dword [esp + 0x10]
push ecx
push edx
call fcn.00421430
add esp, 8
test al, al
je 0x4217de
mov esi, dword [ebp + 8]
jmp 0x4217e5
call fcn.00408280
mov esi, eax
lea ecx, [esp + 0x1c]
call fcn.00403540
mov eax, esi
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0056ab51
mov esp, ebp
pop ebp
ret 4