Function at 0x41b710
Capabilities:
Write file on windows

Disassembly:
push esi
sub esp, 0x2c
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov eax, dword [0x49bbfc]
xor eax, 0x9523ad2d
mov dword [0x49bbfc], eax
mov eax, dword [0x4a0fec]
xor eax, 0x22018e91
mov dword [0x4a0fec], eax
cmp dword [0x4ad0b8], 0
jne 0x41b7c0
mov eax, dword [0x4986d4]
dec eax
mov dword [0x4986d4], eax
cmp eax, 0x8c79f02
jle 0x41b79d
mov eax, 0x51b58ad
mov ecx, dword [0x49facc]
mov edx, dword [0x49222c]
xor edx, 0xffffffff
imul edx, edx, 0xa1fa9227
and ecx, edx
cmp eax, ecx
je 0x41b798
mov eax, dword [0x496934]
add eax, 0xb0bfd2ba
mov dword [0x496934], eax
jmp 0x41b79d
call fcn.0043ec30
mov dword [0x4ad0b8], eax
mov cx, word [0x4aad5c]
mov ax, cx
add eax, 0xb39d958d
mov cx, ax
mov word [0x4aad5c], cx
mov eax, dword [0x497b78]
or eax, 0x66e1bfab
mov dword [0x497b78], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x7f0
call fcn.004322b0
mov dword [esp + 0x20], eax
mov eax, dword [0x498db8]
mov ecx, dword [0x49e160]
or ecx, eax
mov dword [0x49e160], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.004567fc
mov dword [esp + 0x18], eax
mov eax, dword [0x4994c4]
or eax, 0x9217c9b7
mov dword [0x4994c4], eax
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00422f30
mov word [0x4a71ce], 0xe77b
cmp dword [esp + 0x18], 0
jne 0x41b907
mov eax, dword [0x4a1dc4]
xor eax, 0x39ccb8fe
mov dword [0x4a1dc4], eax
mov eax, dword [0x491d04]
mov ecx, esp
mov dword [ecx], 0x41f
call eax
sub esp, 4
mov dword [0x49f118], 0x9fa1d7a1
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x7f0
call fcn.004322b0
mov dword [esp + 0x1c], eax
mov dx, word [0x4ab59c]
mov ax, dx
inc eax
mov dx, ax
mov word [0x4ab59c], dx
movsx eax, dx
add eax, 0xd7f8aacf
mov ecx, dword [0x4a0400]
and ecx, eax
mov dword [0x4a0400], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], ecx
call fcn.004567fc
mov dword [esp + 0x18], eax
mov word [0x4a8a6e], 0x4208
mov eax, dword [esp + 0x1c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00422f30
mov eax, dword [0x4a2ee0]
mov ecx, dword [0x4943dc]
or eax, ecx
mov ecx, dword [0x496bcc]
sub ecx, eax
mov dword [0x496bcc], ecx
mov eax, dword [0x49dde8]
imul eax, eax, 0x2254c89c
mov dword [0x49dde8], eax
cmp dword [esp + 0x18], 0
je 0x41b9e9
mov eax, dword [0x4a38a8]
dec eax
mov dword [0x4a38a8], eax
mov ecx, dword [0x49a3a4]
or eax, ecx
or eax, 0xf2db7aff
mov dword [0x49a3a4], eax
mov eax, dword [esp + 0x18]
mov ecx, esp
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 1
mov dword [ecx + 4], 4
mov dword [ecx], 0x4ad0b8
call fcn.004569af
mov ecx, dword [0x49ef08]
mov edx, ecx
dec edx
mov dword [0x49ef08], edx
add ecx, 0x6de4fede
mov edx, dword [0x49e758]
sar edx, 2
imul edx, edx, 0x526e936a
imul edx, edx, 0x857ee8a2
cmp ecx, edx
mov dword [esp + 0x14], eax
je 0x41b9c6
mov eax, 0xeb7fc36f
mov ecx, dword [0x497124]
inc ecx
mov dword [0x497124], ecx
or ecx, 0x9015c63b
cmp eax, ecx
jg 0x41b9c1
mov dword [0x4a0494], 0x4d3f727a
jmp 0x41b9c6
mov eax, dword [esp + 0x18]
mov ecx, esp
mov dword [ecx], eax
call fcn.00456a9d
mov ecx, dword [0x498d34]
and ecx, 0x2181e262
mov dword [0x498d34], ecx
mov dword [esp + 0x10], eax
mov eax, 0x4b6b05d8
mov ecx, dword [0x491f58]
mov edx, dword [0x49d460]
shl edx, 5
sub ecx, edx
cmp eax, ecx
jle 0x41ba16
mov eax, dword [0x497a30]
or eax, 0xd813ec4e
mov dword [0x497a30], eax
add esp, 0x2c
pop esi
ret