Function at 0x41a690
Capabilities:
Write file on windows

Disassembly:
push esi
sub esp, 0x34
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [0x4a77d8]
mov ecx, eax
inc ecx
mov dword [0x4a77d8], ecx
and eax, 0x7a5a9e02
mov dx, word [0x49db7c]
movsx ecx, dx
xor eax, ecx
mov ecx, dword [0x4a16a4]
or ecx, eax
mov dword [0x4a16a4], ecx
mov dx, word [0x49d6d4]
mov ax, dx
xor eax, 0xe7bd
mov dx, ax
mov word [0x49d6d4], dx
cmp dword [0x4b1be0], 0
jne 0x41a7b0
mov eax, dword [0x4a8e6c]
dec eax
mov dword [0x4a8e6c], eax
imul eax, eax, 0x55da3eb1
add eax, 0x1054ac0
mov ecx, dword [0x4aa9fc]
sub ecx, eax
mov dword [0x4aa9fc], ecx
call fcn.0044ff40
mov dword [0x4b1be0], eax
mov dx, word [0x49a61e]
mov ax, dx
dec eax
mov dx, ax
mov word [0x49a61e], dx
movsx eax, dx
imul eax, eax, 0xd6601406
xor eax, 0x1c7c699d
cmp eax, 0x14d2ec0a
jg 0x41a79c
mov ax, word [0x49f2ec]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49f2ec], dx
movsx ecx, ax
and ecx, 0x7dcecaeb
mov ax, word [0x499f20]
mov si, ax
inc esi
mov dx, si
mov word [0x499f20], dx
movsx esi, ax
xor ecx, esi
mov esi, dword [0x4a23cc]
and esi, ecx
mov dword [0x4a23cc], esi
jmp 0x41a7ab
mov eax, dword [0x4a2284]
xor eax, 0x40512
mov dword [0x4a2284], eax
jmp 0x41a7b0
mov eax, dword [0x4a2b5c]
add eax, 0x1710683d
mov dword [0x4a1d90], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x4454
call fcn.00403e20
mov dword [esp + 0x28], eax
mov eax, dword [0x4acde4]
add eax, 0x4e211061
mov dword [0x4acde4], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004551ef
mov dword [esp + 0x20], eax
mov eax, dword [0x4a1cbc]
xor eax, 0x2820500
mov dword [0x4a1cbc], eax
mov eax, dword [esp + 0x28]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0040f650
mov eax, dword [0x4ad8f0]
imul eax, eax, 0xb39884ee
mov dword [0x4ad8f0], eax
cmp dword [esp + 0x20], 0
jne 0x41a985
mov eax, dword [0x4aaed8]
xor eax, 0x84c10d1
mov dword [0x4aaed8], eax
mov eax, dword [0x499644]
mov ecx, esp
mov dword [ecx], 0x40e
call eax
sub esp, 4
mov eax, dword [0x4a9df8]
mov ecx, eax
inc ecx
mov dword [0x4a9df8], ecx
xor eax, 0x4ada5474
mov ecx, dword [0x4ab8a4]
or ecx, 0x531d290b
cmp eax, ecx
je 0x41a8a1
mov ax, word [0x49ebca]
mov cx, ax
xor ecx, 0x2f04
mov ax, cx
mov word [0x49ebca], ax
jmp 0x41a8da
mov eax, 0x587f92c0
mov ecx, dword [0x4af28c]
mov edx, ecx
inc edx
mov dword [0x4af28c], edx
cmp eax, ecx
jg 0x41a8d5
mov ax, word [0x49ee96]
mov cx, ax
or ecx, 0x78d
mov ax, cx
mov word [0x49ee96], ax
jmp 0x41a8da
mov eax, 0xdf97d3ff
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x4454
mov dword [esp + 0x1c], eax
call fcn.00403e20
mov dword [esp + 0x24], eax
mov dx, word [0x49ecce]
movsx eax, dx
xor eax, 0xffffffff
sub eax, 0xd94348c
and eax, 0x305c026e
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jge 0x41a92d
mov eax, dword [0x4af504]
or eax, 0x25ba9a94
mov dword [0x4af504], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004551ef
mov dword [esp + 0x20], eax
mov eax, dword [0x4a5600]
xor eax, 0x35f38d0e
mov dword [0x4a5600], eax
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0040f650
mov eax, dword [0x4a4168]
mov ecx, eax
dec ecx
mov dword [0x4a4168], ecx
xor eax, 0xc0c8002
or eax, 0xb1d31b7c
mov dword [0x4a2ee4], eax
mov eax, 0xdfedfbfd
mov ecx, dword [0x4a8e18]
imul ecx, ecx, 0xc4ca67a3
or ecx, 0x6c0df9b7
cmp eax, ecx
jge 0x41a9bd
mov eax, dword [0x4a2d00]
dec eax
mov dword [0x4a2d00], eax
mov ecx, dword [0x4aa98c]
xor ecx, eax
mov dword [0x4aa98c], ecx
cmp dword [esp + 0x20], 0
je 0x41aaae
mov ax, word [0x49d8f8]
movsx ecx, ax
and ecx, 0xd2c0ea7d
mov edx, dword [0x4ae0b0]
mov esi, edx
dec esi
mov dword [0x4ae0b0], esi
imul edx, edx, 0x1d6acabc
xor edx, 0x6b43a72a
cmp ecx, edx
jle 0x41aa12
mov ax, word [0x49e91c]
mov cx, ax
add ecx, 0x29bff716
mov ax, cx
mov word [0x49e91c], ax
mov eax, 0x90030001
mov ecx, dword [esp + 0x20]
mov edx, esp
mov dword [edx + 0xc], ecx
mov dword [edx + 8], 1
mov dword [edx + 4], 4
mov dword [edx], 0x4b1be0
mov dword [esp + 0x18], eax
call fcn.004553a2
mov si, word [0x49cae6]
mov cx, si
dec ecx
mov si, cx
mov word [0x49cae6], si
movsx ecx, si
mov edx, dword [esp + 0x18]
cmp edx, ecx
mov dword [esp + 0x14], eax
jne 0x41aa82
mov ax, word [0x4a0a6e]
movsx ecx, ax
imul ecx, ecx, 0x4c263910
mov edx, dword [0x4ac6bc]
sub edx, ecx
mov dword [0x4ac6bc], edx
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx], eax
call fcn.00455490
mov ecx, dword [0x4aeb68]
mov edx, ecx
inc edx
mov dword [0x4aeb68], edx
and ecx, 0xda7010a5
mov dword [0x4a9db8], ecx
mov dword [esp + 0x10], eax
mov ax, word [0x49b346]
mov cx, ax
and ecx, 0x2339
mov ax, cx
mov word [0x49b346], ax
add esp, 0x34
pop esi
ret