Function at 0x406d50
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x40
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0x42548d
call fcn.0041af85
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], 0xf3fe88c4
mov esi, 0xcaada3e9
jmp 0x406dc0
mov dword [ebp - 0x38], 0x16ac628b
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38]
cmp eax, 0x9776a567
jg 0x406de0
cmp eax, 0x821b07ce
jne 0x406dc0
jmp 0x406db2
cmp eax, 0x9f1791a6
jg 0x406e10
cmp eax, 0x9776a568
jne 0x406dc0
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x2bcfd824
jne 0x406dff
mov eax, 0xcfb1c16
mov dword [ebp - 0x38], eax
jmp 0x406dc0
cmp eax, 0xa15f9ca4
jg 0x406e27
cmp eax, 0x9f1791a7
jne 0x406dc0
mov dword [ebp - 0x38], 0x16ac628b
jmp 0x406dc0
cmp eax, 0xa7f699f3
jg 0x406e4c
cmp eax, 0xa15f9ca5
jne 0x406dc0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.0041b006
mov dword [ebp - 0x38], 0x505a8031
jmp 0x406dc0
cmp eax, 0xb08c1607
jg 0x406e76
cmp eax, 0xa7f699f4
jne 0x406dc0
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x20], eax
mov dword [ebp - 0x38], 0x821b07ce
jmp 0x406dc0
cmp eax, 0xbcc66ba5
jg 0x406e9c
cmp eax, 0xb08c1608
jne 0x406dc0
cmp dword [ebp - 0x2c], 0
setne byte [ebp - 0xd]
mov dword [ebp - 0x38], 0xe3d5b042
jmp 0x406dc0
cmp eax, 0xc03664fb
jg 0x406eba
cmp eax, 0xbcc66ba6
jne 0x406dc0
mov dword [ebp - 0x38], 0xd9faa3de
jmp 0x406dc0
cmp eax, 0xd9faa3dd
jg 0x406ed8
cmp eax, 0xc03664fc
jne 0x406dc0
mov dword [ebp - 0x38], 0x27de3b9a
jmp 0x406dc0
cmp eax, 0xe042c111
jg 0x406efc
cmp eax, 0xd9faa3de
jne 0x406dc0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x38], 0xf6017c6b
jmp 0x406dc0
cmp eax, 0xe3d5b041
jg 0x406f1a
cmp eax, 0xe042c112
jne 0x406dc0
mov dword [ebp - 0x38], 0xb08c1608
jmp 0x406dc0
cmp eax, 0xf3278ddf
jg 0x406f45
cmp eax, 0xe3d5b042
jne 0x406dc0
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0xe53abb3
jne 0x406f3d
mov eax, 0x5607d529
mov dword [ebp - 0x38], eax
jmp 0x406dc0
cmp eax, 0x7311e015
jg 0x406fb7
cmp eax, 0x71241192
jg 0x406fce
cmp eax, 0x63a142e4
jg 0x407005
cmp eax, 0x5607d528
jg 0x407024
cmp eax, 0x505a8030
jg 0x40703b
cmp eax, 0x2bcfd823
jg 0x40705d
cmp eax, 0x27de3b99
jg 0x4070a3
cmp eax, 0x1eef07d4
jg 0x4070ba
cmp eax, 0xf3fe88c3
jg 0x4070d1
cmp eax, 0xf3278de0
jne 0x406dc0
mov dword [ebp - 0x38], 0x27de3b9a
jmp 0x406dc0
cmp eax, 0x7311e016
jne 0x406dc0
mov dword [ebp - 0x38], 0x71241193
jmp 0x406dc0
cmp eax, 0x71241193
jne 0x406dc0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.004030a0
mov dword [ebp - 0x38], 0x9f1791a7
jmp 0x406dc0
cmp eax, 0x63a142e5
jne 0x406dc0
cmp dword [ebp - 0x20], 0
setne byte [ebp - 0xe]
mov dword [ebp - 0x38], 0x9776a568
jmp 0x406dc0
cmp eax, 0x5607d529
jne 0x406dc0
mov dword [ebp - 0x38], 0xd9faa3de
jmp 0x406dc0
cmp eax, 0x505a8031
jne 0x406dc0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call fcn.0041b006
mov dword [ebp - 0x38], 0x1a43a3fe
jmp 0x406dc0
cmp eax, 0x2bcfd824
jne 0x406dc0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.0041b1d4
mov dword [ebp - 0x30], eax
mov ecx, 0xc03664fc
cmp eax, dword [ebp - 0x20]
jne 0x40709b
mov ecx, 0x1eef07d5
mov dword [ebp - 0x38], ecx
jmp 0x406dc0
cmp eax, 0x27de3b9a
jne 0x406dc0
mov dword [ebp - 0x38], 0xb08c1608
jmp 0x406dc0
cmp eax, 0x1eef07d5
jne 0x406dc0
mov dword [ebp - 0x38], 0xa7f699f4
jmp 0x406dc0
cmp eax, 0xf6017c6a
jg 0x4070fb
cmp eax, 0xf3fe88c4
jne 0x406dc0
mov eax, 0xf3278de0
cmp dword [ebp - 0x14], 0
je 0x4070f3
mov eax, 0x7311e016
mov dword [ebp - 0x38], eax
jmp 0x406dc0
cmp eax, 0x12f252d
jg 0x407112
cmp eax, 0xf6017c6b
jne 0x406dc0
jmp 0x407265
cmp eax, 0x5a9b7de
jg 0x407130
cmp eax, 0x12f252e
jne 0x406dc0
mov dword [ebp - 0x38], 0x63a142e5
jmp 0x406dc0
cmp eax, 0x70e97f2
jg 0x407155
cmp eax, 0x5a9b7df
jne 0x406dc0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0x9451074
jmp 0x406dc0
cmp eax, 0x9451073
jg 0x407193
cmp eax, 0x70e97f3
jne 0x406dc0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.004030a0
mov dword [ebp - 0x38], 0x71241193
jmp 0x406dc0
cmp eax, 0xcfb1c15
jg 0x4071b8
cmp eax, 0x9451074
jne 0x406dc0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0xde5721e
jmp 0x406dc0
cmp eax, 0xde5721d
jg 0x4071d6
cmp eax, 0xcfb1c16
jne 0x406dc0
mov dword [ebp - 0x38], 0x9451074
jmp 0x406dc0
cmp eax, 0x1acb93b6
jg 0x4071fe
cmp eax, 0x1a43a3fd
jg 0x40722b
cmp eax, 0xde5721e
je 0x407242
cmp eax, 0xe53abb3
jne 0x40724e
mov dword [ebp - 0x38], 0x505a8031
jmp 0x406dc0
cmp eax, 0x1acb93b7
jne 0x406dc0
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
add eax, esi
sub eax, dword [ebp - 0x30]
add eax, 0x35525c17
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], 0xa7f699f4
jmp 0x406dc0
cmp eax, 0x1a43a3fe
jne 0x406dc0
mov dword [ebp - 0x38], 0x5607d529
jmp 0x406dc0
mov dword [ebp - 0x38], 0x27de3b9a
jmp 0x406dc0
cmp eax, 0x16ac628b
jne 0x406dc0
mov dword [ebp - 0x38], 0x63a142e5
jmp 0x406dc0
mov eax, dword [ebp - 0xc]
add esp, 0x40
pop esi
pop edi
pop ebp
ret