Function at 0x44c390
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 [0x4929bc]
imul eax, eax, 0xf77b0330
mov dword [0x4929bc], eax
mov eax, dword [0x48f9a8]
add eax, 0x988e3a48
mov dword [0x48f9a8], eax
cmp dword [0x4aaee8], 0
jne 0x44c417
mov eax, dword [0x4986d4]
add eax, 0x33f3fefc
mov dword [0x4986d4], eax
call fcn.0044bcd0
mov dword [0x4aaee8], eax
mov eax, dword [0x495800]
mov ecx, eax
inc ecx
mov dword [0x495800], ecx
add eax, 0x79fe52b4
mov dx, word [0x4a9ab2]
mov cx, dx
xor eax, ecx
xor eax, 0x2689
mov dx, ax
mov word [0x4a9ab2], dx
mov ax, word [0x4a7476]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a7476], dx
movsx ecx, ax
cmp ecx, 0x5bf5c85d
jge 0x44c449
mov eax, dword [0x49f8a0]
add eax, 0x47643f1b
mov dword [0x49f8a0], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0xf87
call fcn.00430db0
mov dword [esp + 0x20], eax
mov eax, dword [0x48ea88]
or eax, 0xd86ea752
mov dword [0x48ea88], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.0045540d
mov dword [esp + 0x18], eax
mov eax, dword [0x498d74]
shl eax, 4
or eax, 0xa0c36e19
mov dword [0x4937d8], eax
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00404f30
mov eax, dword [0x4927cc]
mov dword [0x49d02c], eax
cmp dword [esp + 0x18], 0
jne 0x44c5a4
mov eax, dword [0x494178]
xor eax, 0x9603e6d4
mov dword [0x494178], eax
mov eax, dword [0x48e9c4]
mov ecx, esp
mov dword [ecx], 0x414
call eax
sub esp, 4
mov eax, dword [0x49c1a8]
inc eax
mov dword [0x49c1a8], eax
mov dx, word [0x4a9012]
mov cx, dx
xor eax, ecx
xor eax, 0xd092
mov dx, ax
mov word [0x4a9012], dx
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0xf87
call fcn.00430db0
mov dword [esp + 0x1c], eax
mov dx, word [0x4a1982]
movsx eax, dx
or eax, 0xea917aa2
mov ecx, dword [0x491818]
add ecx, eax
mov dword [0x491818], 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.0045540d
mov dword [esp + 0x18], eax
mov dx, word [0x4a277e]
movsx eax, dx
add eax, 0xfa86dfb0
and eax, 0xa08d10c4
mov ecx, dword [0x499e28]
add ecx, eax
mov dword [0x499e28], ecx
mov eax, dword [esp + 0x1c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00404f30
mov eax, dword [0x4915e8]
shl eax, 9
and eax, 0xcafe4a00
xor eax, 0x7216a4a7
mov dword [0x495604], eax
mov ax, word [0x4a45cc]
movsx ecx, ax
and ecx, 0xf269a4d0
mov edx, dword [0x49b800]
add edx, ecx
mov dword [0x49b800], edx
cmp dword [esp + 0x18], 0
je 0x44c651
mov eax, dword [0x48fc20]
xor eax, 0x202d336a
mov dword [0x48fc20], 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], 0x4aaee8
call fcn.004555c0
mov ecx, dword [0x49e354]
mov edx, ecx
dec edx
mov dword [0x49e354], edx
or ecx, 0x555f1603
mov edx, dword [0x49f7b4]
add edx, ecx
mov dword [0x49f7b4], edx
mov ecx, dword [esp + 0x18]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x14], eax
call fcn.004556ae
mov ecx, dword [0x49780c]
not ecx
imul ecx, ecx, 0x1f446835
mov edx, dword [0x49e5c0]
add edx, ecx
mov dword [0x49e5c0], edx
mov dword [esp + 0x10], eax
mov eax, dword [0x497fe0]
sar eax, 9
add eax, 0x8f4ef725
mov ecx, dword [0x4968e4]
xor ecx, eax
mov dword [0x4968e4], ecx
add esp, 0x2c
pop esi
ret