Function at 0x4059d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x40
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x38], 0xeb7c8c9e
jmp 0x4059f0
mov dword [ebp - 0x38], 0x8ce045a8
nop
mov eax, dword [ebp - 0x38]
cmp eax, 0x74d0ab6f
jg 0x405a70
cmp eax, 0x726abc2d
jg 0x405a80
cmp eax, 0x6fa542fe
jg 0x405aaa
cmp eax, 0x6a651fe0
jg 0x405ac1
cmp eax, 0x6218614a
jg 0x405b06
cmp eax, 0x4f3422e6
jg 0x405b1d
cmp eax, 0x480a7634
jg 0x405b2d
cmp eax, 0x4551f995
jg 0x405b44
cmp eax, 0x8ce045a7
jg 0x405b5b
cmp eax, 0x8a9958c0
jne 0x4059f0
mov al, byte [ebp - 0x15]
test al, al
mov eax, 0x3b71e386
jne 0x405a66
mov eax, 0x6a651fe1
mov dword [ebp - 0x38], eax
jmp 0x4059f0
cmp eax, 0x74d0ab70
jne 0x4059f0
jmp 0x4059e8
cmp eax, 0x726abc2e
jne 0x4059f0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00413f7d
add esp, 4
mov dword [ebp - 0x38], 0x2bb0a488
jmp 0x4059f0
cmp eax, 0x6fa542ff
jne 0x4059f0
mov dword [ebp - 0x38], 0x933c4133
jmp 0x4059f0
cmp eax, 0x6a651fe1
jne 0x4059f0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
mov ebx, dword [ebp - 0x28]
mov ebx, dword [ebx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.00402f70
add esp, 0x10
mov dword [ebp - 0x38], 0x6aa65
jmp 0x4059f0
cmp eax, 0x6218614b
jne 0x4059f0
mov dword [ebp - 0x38], 0x21ab0dc6
jmp 0x4059f0
cmp eax, 0x4f3422e7
jne 0x4059f0
jmp 0x4060aa
cmp eax, 0x480a7635
jne 0x4059f0
mov dword [ebp - 0x38], 0x864c59d
jmp 0x4059f0
cmp eax, 0x4551f996
jne 0x4059f0
mov dword [ebp - 0x38], 0x864c59d
jmp 0x4059f0
cmp eax, 0x3bcbdb31
jg 0x405b91
cmp eax, 0x3b71e385
jg 0x405ba8
cmp eax, 0x8d1cae65
jg 0x405bbf
cmp eax, 0x8ce045a8
jne 0x4059f0
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
setne byte [ebp - 0x11]
mov dword [ebp - 0x38], 0xc764b642
jmp 0x4059f0
cmp eax, 0x3bcbdb32
jne 0x4059f0
mov dword [ebp - 0x38], 0x395a4c64
jmp 0x4059f0
cmp eax, 0x3b71e386
jne 0x4059f0
mov dword [ebp - 0x38], 0x933c4133
jmp 0x4059f0
cmp eax, 0x933c4132
jg 0x405be0
cmp eax, 0x8d1cae66
jne 0x4059f0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], 0x8ce045a8
jmp 0x4059f0
cmp eax, 0x951ae0f6
jg 0x405c02
cmp eax, 0x933c4133
jne 0x4059f0
mov byte [ebp - 0x14], 1
mov dword [ebp - 0x38], 0x98aece64
jmp 0x4059f0
cmp eax, 0x98aece63
jg 0x405cd6
cmp eax, 0x951ae0f7
jne 0x4059f0
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x3c], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x40], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x44], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x48], esp
mov eax, 4
call fcn.00413540
mov edx, esp
mov eax, 4
call fcn.00413540
mov ebx, esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x4c], esp
mov eax, 4
call fcn.00413540
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x44]
mov dword [ecx], eax
mov eax, dword [ebp - 0x48]
mov dword [eax], esi
mov eax, dword [ebp - 0x4c]
mov dword [eax], 0
mov dword [edx], edi
mov dword [ebx], 0
mov dword [esp], 0xffffffff
mov eax, dword [edx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46f4a0
call fcn.004140b8
add esp, 8
mov dword [ebx], eax
mov dword [ebp - 0x38], 0xd5dbef6f
jmp 0x4059f0
cmp eax, 0xa36a5a5b
jg 0x405d01
cmp eax, 0x98aece64
jne 0x4059f0
mov al, byte [ebp - 0x14]
test al, al
mov eax, 0x21ab0dc6
jne 0x405cf9
mov eax, 0x6218614b
mov dword [ebp - 0x38], eax
jmp 0x4059f0
cmp eax, 0xb8dcb407
jg 0x405d27
cmp eax, 0xa36a5a5c
jne 0x4059f0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], 0x4f3422e7
jmp 0x4059f0
cmp eax, 0xc764b641
jg 0x405d89
cmp eax, 0xb8dcb408
jne 0x4059f0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
sub esp, 0x10
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00414224
add esp, 0x10
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2c]
mov eax, 0xe0264f0f
cmp ecx, dword [edx]
jne 0x405d81
mov eax, 0x22f6f993
mov dword [ebp - 0x38], eax
jmp 0x4059f0
cmp eax, 0xd33f6127
jg 0x405db4
cmp eax, 0xc764b642
jne 0x4059f0
mov al, byte [ebp - 0x11]
test al, al
mov eax, 0x726abc2e
jne 0x405dac
mov eax, 0x2bb0a488
mov dword [ebp - 0x38], eax
jmp 0x4059f0
cmp eax, 0xd5dbef6e
jg 0x405ddf
cmp eax, 0xd33f6128
jne 0x4059f0
mov al, byte [ebp - 0x12]
test al, al
mov eax, 0xfe5d021e
jne 0x405dd7
mov eax, 0x3da0bd3
mov dword [ebp - 0x38], eax
jmp 0x4059f0
cmp eax, 0xe0264f0e
jg 0x405ec9
cmp eax, 0xd5dbef6f
jne 0x4059f0
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x34], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x30], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x2c], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x28], esp
mov eax, 4
call fcn.00413540
mov ecx, esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x24], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x20], esp
mov eax, 4
call fcn.00413540
mov dword [ebp - 0x1c], esp
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + 0x18]
mov dword [eax], edx
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp + 0x14]
mov dword [eax], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp - 0x28]
mov dword [eax], esi
mov dword [ecx], edi
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
mov eax, dword [ebp - 0x20]
mov dword [eax], 0
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0xffffffff
mov eax, dword [ecx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x46f4a0
call fcn.004140b8
add esp, 8
mov ecx, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
sete byte [ebp - 0x15]
mov dword [ebp - 0x38], 0x8a9958c0
jmp 0x4059f0
cmp eax, 0xeb7c8c9d
jg 0x405ee7
cmp eax, 0xe0264f0f
jne 0x4059f0
mov dword [ebp - 0x38], 0x395a4c64
jmp 0x4059f0
cmp eax, 0xf314ad65
jg 0x405f05
cmp eax, 0xeb7c8c9e
jne 0x4059f0
mov dword [ebp - 0x38], 0xd5dbef6f
jmp 0x4059f0
cmp eax, 0xf8f9fb6c
jg 0x405f2c
cmp eax, 0xf314ad66
jne 0x4059f0
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov dword [ebp - 0x38], 0x74d0ab70
jmp 0x4059f0
cmp eax, 0xfaec741a
jg 0x405f4d
cmp eax, 0xf8f9fb6d
jne 0x4059f0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], 0xa36a5a5c
jmp 0x4059f0
cmp eax, 0xfe5d021d
jg 0x405f6b
cmp eax, 0xfaec741b
jne 0x4059f0
mov dword [ebp - 0x38], 0x74d0ab70
jmp 0x4059f0
cmp eax, 0x6aa64
jg 0x405f89
cmp eax, 0xfe5d021e
jne 0x4059f0
mov dword [ebp - 0x38], 0x74d0ab70
jmp 0x4059f0
cmp eax, 0x3da0bd2
jg 0x405fb5
cmp eax, 0x6aa65
jne 0x4059f0
mov ecx, dword [ebp - 0x2c]
mov eax, 0xb8dcb408
cmp dword [ecx], 0
jne 0x405fad
mov eax, 0xf314ad66
mov dword [ebp - 0x38], eax
jmp 0x4059f0
cmp eax, 0x864c59c
jg 0x405fd3
cmp eax, 0x3da0bd3
jne 0x4059f0
mov dword [ebp - 0x38], 0x4551f996
jmp 0x4059f0
cmp eax, 0x21ab0dc5
jg 0x405ff5
cmp eax, 0x864c59d
jne 0x4059f0
mov byte [ebp - 0x12], 1
mov dword [ebp - 0x38], 0xd33f6128
jmp 0x4059f0
cmp eax, 0x22f6f992
jg 0x406013
cmp eax, 0x21ab0dc6
jne 0x4059f0
mov dword [ebp - 0x38], 0xfaec741b
jmp 0x4059f0
cmp eax, 0x2bb0a487
jg 0x40605c
cmp eax, 0x22f6f993
jne 0x4059f0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
add eax, dword [ecx]
mov ecx, dword [ebp - 0x28]
mov dword [ecx], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov edx, 0x629fab41
add ecx, edx
sub ecx, dword [eax]
add ecx, 0x9d6054bf
mov eax, dword [ebp - 0x2c]
mov dword [eax], ecx
mov dword [ebp - 0x38], 0x6aa65
jmp 0x4059f0
cmp eax, 0x2bb0a488
je 0x40607a
cmp eax, 0x395a4c64
jne 0x406086
mov byte [ebp - 0x13], 1
mov dword [ebp - 0x38], 0x39863e80
jmp 0x4059f0
mov dword [ebp - 0x38], 0xa36a5a5c
jmp 0x4059f0
cmp eax, 0x39863e80
jne 0x4059f0
mov al, byte [ebp - 0x13]
test al, al
mov eax, 0x4551f996
jne 0x4060a2
mov eax, 0x3da0bd3
mov dword [ebp - 0x38], eax
jmp 0x4059f0
mov eax, dword [ebp - 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret