Function at 0x4245b0
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 word [0x48fe18], 0x5331
mov dx, word [0x48e524]
movsx eax, dx
and eax, 0x89142cae
mov ecx, dword [0x496238]
add ecx, eax
mov dword [0x496238], ecx
cmp dword [0x498760], 0
jne 0x424625
mov ax, word [0x490636]
mov word [0x490636], ax
call fcn.004023f0
mov dword [0x498760], eax
mov eax, dword [0x491e5c]
xor eax, 0x8c1ad597
mov ecx, dword [0x4925b0]
and ecx, eax
mov dword [0x4925b0], ecx
mov eax, dword [0x4915b0]
xor eax, 0xffffffff
and eax, 0xbfd7145c
cmp eax, 0x5ef5fb4d
jle 0x42464c
mov eax, dword [0x491b7c]
or eax, 0x368b861b
mov dword [0x491b7c], eax
mov eax, 0x132964d5
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x2e54
mov dword [esp + 0x1c], eax
call fcn.00443650
mov dword [esp + 0x28], eax
mov eax, dword [0x4962f8]
xor eax, 0xb0b93bc0
mov dword [0x4962f8], 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.004564cf
mov dword [esp + 0x20], eax
mov si, word [0x48eb22]
movsx eax, si
sar eax, 2
imul eax, eax, 0x6780ccea
mov ecx, dword [0x49652c]
sar ecx, 2
sub eax, ecx
mov ecx, dword [0x4926a0]
add ecx, eax
mov dword [0x4926a0], ecx
mov eax, dword [esp + 0x28]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00428120
mov eax, dword [0x4958d4]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
je 0x4246f9
mov eax, dword [0x4959fc]
mov ecx, dword [0x49506c]
xor eax, ecx
not eax
mov dword [0x49506c], eax
cmp dword [esp + 0x20], 0
jne 0x424829
mov eax, dword [0x497958]
mov ecx, eax
dec ecx
mov dword [0x497958], ecx
and eax, 0xa77146f4
mov dx, word [0x4903e6]
movsx ecx, dx
add ecx, 0xca5a0add
and ecx, 0xf6af3950
cmp eax, ecx
je 0x424757
mov eax, dword [0x495324]
mov ecx, eax
dec ecx
mov dword [0x495324], ecx
imul eax, eax, 0x4569c7b8
mov ecx, dword [0x496fa4]
sub ecx, eax
mov dword [0x496fa4], ecx
mov eax, 0xc900dd5c
mov ecx, dword [0x48dae4]
mov edx, esp
mov dword [edx], 0x457
mov dword [esp + 0x18], eax
call ecx
sub esp, 4
mov si, word [0x48e3da]
movsx eax, si
sub eax, 0x18432697
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jge 0x42479d
mov eax, dword [0x4933ac]
and eax, 0xa4f8e768
mov dword [0x4933ac], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x2e54
call fcn.00443650
mov dword [esp + 0x24], eax
mov eax, dword [0x4945b0]
imul eax, eax, 0x439b9106
mov dword [0x4945b0], 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.004564cf
mov dword [esp + 0x20], eax
mov si, word [0x48ebd4]
movsx eax, si
shl eax, 5
mov ecx, dword [0x49423c]
lea eax, [eax + ecx - 0x6a729e3a]
mov dword [0x49423c], eax
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00428120
mov si, word [0x48e5a2]
mov ax, si
xor eax, 0x54c
mov si, ax
mov word [0x48e5a2], si
mov eax, dword [0x497ba4]
add eax, 0x102a7514
mov dword [0x497ba4], eax
cmp dword [esp + 0x20], 0
je 0x4248b3
mov eax, dword [0x494960]
sar eax, 2
mov dword [0x492674], eax
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 1
mov dword [ecx + 4], 4
mov dword [ecx], 0x498760
call fcn.00458f3d
mov ecx, dword [0x491d44]
and ecx, 0x6e5514c1
mov dword [0x491d44], ecx
mov ecx, dword [esp + 0x20]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x14], eax
call fcn.00456bc3
mov si, word [0x48ef3c]
mov cx, si
imul ecx, ecx, 0xf378565c
mov si, cx
mov word [0x48ef3c], si
mov dword [esp + 0x10], eax
mov eax, dword [0x4954cc]
mov ecx, eax
inc ecx
mov dword [0x4954cc], ecx
mov ecx, 0x69417091
sub ecx, eax
xor ecx, 0xfc1d5b2b
mov eax, dword [0x495388]
or eax, ecx
mov dword [0x495388], eax
add esp, 0x34
pop esi
ret