Function at 0x405520
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x30], 0xd2f6b8c6
jmp 0x405550
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x30], 0x5c41f6b6
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x30]
cmp eax, 0x882f6597
jg 0x405570
cmp eax, 0x80f88d54
jne 0x405550
jmp 0x40553b
cmp eax, 0xaa937270
jg 0x405590
cmp eax, 0x882f6598
jne 0x405550
mov dword [ebp - 0x30], 0x6ae5a9ac
jmp 0x405550
cmp eax, 0xc1291542
jg 0x4055ea
cmp eax, 0xaa937271
jne 0x405550
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x20]
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.004188c8
add esp, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
cmp eax, dword [ecx]
setne byte [ebp - 0xd]
mov dword [ebp - 0x30], 0xefdc7bd0
jmp 0x405550
cmp eax, 0x6ae5a9ab
jg 0x405650
cmp eax, 0x69079cf0
jg 0x405675
cmp eax, 0x6175cdf9
jg 0x40568c
cmp eax, 0xc267d052
jg 0x4056a3
cmp eax, 0xc1291543
jne 0x405550
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
add eax, dword [ecx]
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov edx, 0xecef22de
add ecx, edx
sub ecx, dword [eax]
add ecx, 0x1310dd22
mov eax, dword [ebp - 0x24]
mov dword [eax], ecx
mov dword [ebp - 0x30], 0x3f452aa3
jmp 0x405550
cmp eax, 0x6ae5a9ac
jne 0x405550
mov ecx, dword [ebp - 0x1c]
mov eax, 0xc8194cc0
cmp dword [ecx], 0
jne 0x40566d
mov eax, 0xc267d053
mov dword [ebp - 0x30], eax
jmp 0x405550
cmp eax, 0x69079cf1
jne 0x405550
mov dword [ebp - 0x30], 0xaa937271
jmp 0x405550
cmp eax, 0x6175cdfa
jne 0x405550
mov dword [ebp - 0x30], 0x6ae5a9ac
jmp 0x405550
cmp eax, 0xc8194cbf
jg 0x4056ba
cmp eax, 0xc267d053
jne 0x405550
jmp 0x405ac4
cmp eax, 0xcaab0698
jg 0x4056eb
cmp eax, 0xc8194cc0
jne 0x405550
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.004189b2
add esp, 4
mov dword [ebp - 0x30], 0xc267d053
jmp 0x405550
cmp eax, 0xcb74b9a5
jg 0x40570c
cmp eax, 0xcaab0699
jne 0x405550
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0x2229c7c6
jmp 0x405550
cmp eax, 0xd2f6b8c5
jg 0x405769
cmp eax, 0xcb74b9a6
jne 0x405550
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx]
mov ebx, edi
mov edi, esi
mov esi, dword [ebp - 0x20]
mov esi, dword [esi]
sub esp, 0x10
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
mov esi, edi
mov edi, ebx
mov ebx, dword [ebp + 0x10]
call fcn.004021a0
add esp, 0x10
mov dword [ebp - 0x30], 0x3f452aa3
jmp 0x405550
cmp eax, 0xdf148e85
jg 0x405787
cmp eax, 0xd2f6b8c6
jne 0x405550
mov dword [ebp - 0x30], 0xdf148e86
jmp 0x405550
cmp eax, 0x5c41f6b5
jg 0x40580a
cmp eax, 0x5bdbbfdf
jg 0x40582a
cmp eax, 0x486d9705
jg 0x405841
cmp eax, 0x3f452aa2
jg 0x405858
cmp eax, 0x32bbeaae
jg 0x40586f
cmp eax, 0x2229c7c5
jg 0x4058be
cmp eax, 0x1b0cb4fd
jg 0x4058df
cmp eax, 0xefdc7bcf
jg 0x4059ab
cmp eax, 0xdf148e86
je 0x4059cf
cmp eax, 0xdf60b20a
jne 0x405aa0
mov al, byte [ebp - 0xf]
test al, al
mov eax, 0x486d9706
jne 0x405802
mov eax, 0xcb74b9a6
mov dword [ebp - 0x30], eax
jmp 0x405550
cmp eax, 0x5c41f6b6
jne 0x405550
mov eax, dword [ebp - 0x14]
mov dword [eax], 0
mov dword [ebp - 0x30], 0x6175cdfa
jmp 0x405550
cmp eax, 0x5bdbbfe0
jne 0x405550
mov dword [ebp - 0x30], 0x5c41f6b6
jmp 0x405550
cmp eax, 0x486d9706
jne 0x405550
mov dword [ebp - 0x30], 0x6ae5a9ac
jmp 0x405550
cmp eax, 0x3f452aa3
jne 0x405550
mov dword [ebp - 0x30], 0x2229c7c6
jmp 0x405550
cmp eax, 0x32bbeaaf
jne 0x405550
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x20]
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.004188c8
add esp, 0x10
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], 0xaa937271
jmp 0x405550
cmp eax, 0x2229c7c6
jne 0x405550
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
setne byte [ebp - 0xe]
mov dword [ebp - 0x30], 0xe5b1121e
jmp 0x405550
cmp eax, 0x1b0cb4fe
jne 0x405550
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x34], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x38], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x3c], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x40], esp
mov eax, 4
call fcn.00417d10
mov edx, esp
mov eax, 4
call fcn.00417d10
mov esi, esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x44], esp
mov eax, 4
call fcn.00417d10
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x38]
mov dword [eax], edi
mov eax, dword [ebp - 0x3c]
mov dword [eax], ebx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x40]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov dword [edx], eax
mov dword [esi], 0
mov dword [esp], 0xffffffff
mov eax, dword [edx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x42245c
call fcn.00418aed
add esp, 8
mov dword [esi], eax
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0x30], 0xdf148e86
jmp 0x405550
cmp eax, 0xefdc7bd0
jne 0x405550
mov al, byte [ebp - 0xd]
test al, al
mov eax, 0x882f6598
jne 0x4059c7
mov eax, 0xc1291543
mov dword [ebp - 0x30], eax
jmp 0x405550
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x2c], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x28], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x24], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x20], esp
mov eax, 4
call fcn.00417d10
mov ecx, esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x1c], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x18], esp
mov eax, 4
call fcn.00417d10
mov dword [ebp - 0x14], esp
mov eax, dword [ebp - 0x2c]
mov dword [eax], esi
mov eax, dword [ebp - 0x28]
mov dword [eax], edi
mov eax, dword [ebp - 0x24]
mov dword [eax], ebx
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + 0xc]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xffffffff
mov eax, dword [ecx]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x42245c
call fcn.00418aed
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0
sete byte [ebp - 0xf]
mov dword [ebp - 0x30], 0xdf60b20a
jmp 0x405550
cmp eax, 0xe5b1121e
jne 0x405550
mov al, byte [ebp - 0xe]
test al, al
mov eax, 0x69079cf1
jne 0x405abc
mov eax, 0x5bdbbfe0
mov dword [ebp - 0x30], eax
jmp 0x405550
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret