Function at 0x442680
Capabilities:
Write file on windows

Disassembly:
push esi
sub esp, 0x760
mov eax, dword [esp + 0x768]
mov dword [esp + 0x75c], eax
mov eax, dword [0x49af6c]
imul eax, eax, 0xa8520e41
mov dword [0x49af6c], eax
mov eax, dword [esp + 0x75c]
mov ecx, eax
call fcn.004486c0
cmp eax, 0x8047
jbe 0x442e8a
mov eax, 0xb7b9ad7d
mov ecx, dword [0x49bd10]
and ecx, 0x4533b3dd
mov edx, dword [0x497b08]
sub edx, ecx
mov dword [0x497b08], edx
mov ecx, dword [0x499ab4]
xor ecx, 0x2b4b61e4
mov dword [0x499ab4], ecx
mov ecx, dword [0x499764]
inc ecx
mov dword [0x499764], ecx
and ecx, 0xf5fa63b0
mov edx, dword [0x494930]
xor ecx, edx
xor ecx, 0x903cab57
mov dword [0x494930], ecx
mov ecx, dword [0x499610]
xor ecx, 0xc76ab54d
mov dword [0x499610], ecx
mov ecx, esp
lea edx, [esp + 0x5ed]
mov dword [ecx], edx
mov dword [esp + 0x50], eax
call fcn.00404740
mov dword [esp + 0x5e8], eax
mov eax, dword [0x4964d4]
mov ecx, dword [0x49de0c]
sar ecx, 6
sub eax, ecx
and eax, 0xa46a5b13
mov dword [0x49aa68], eax
call fcn.004060e0
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5e8]
lea edx, [esp + edx + 0x5ed]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.0042bfb0
mov ecx, dword [0x49fbc4]
mov edx, ecx
dec edx
mov dword [0x49fbc4], edx
mov edx, dword [esp + 0x50]
cmp edx, ecx
jg 0x4427e9
mov eax, 0x8e09ed05
mov ecx, dword [0x4a0768]
sar ecx, 6
cmp eax, ecx
jle 0x4427e4
mov eax, dword [0x499e18]
mov ecx, eax
inc ecx
mov dword [0x499e18], ecx
mov dx, word [0x4a3fb8]
movsx ecx, dx
xor eax, ecx
xor eax, 0x8ffb2d6b
mov ecx, dword [0x4a0578]
imul ecx, eax
mov dword [0x4a0578], ecx
jmp 0x442804
mov eax, dword [0x49b29c]
shl eax, 4
or eax, 0x1dd53d98
mov ecx, dword [0x495c4c]
and ecx, eax
mov dword [0x495c4c], ecx
mov eax, 0xae4185fc
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x162f
mov dword [esp + 0x4c], eax
call fcn.00401920
mov dword [esp + 0x758], eax
mov eax, dword [0x495e40]
add eax, 0x310bd783
mov dword [0x495e40], eax
mov eax, dword [esp + 0x758]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5ed]
mov dword [ecx], eax
call fcn.00455240
mov ecx, dword [0x4994c0]
imul ecx, ecx, 0x71150769
mov dword [0x4994c0], ecx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x32a2
mov dword [esp + 0x48], eax
call fcn.00401920
mov dword [esp + 0x754], eax
mov eax, dword [0x4932d8]
or eax, 0xcfd78638
mov dword [0x4932d8], eax
mov eax, dword [esp + 0x758]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.00405f10
mov eax, dword [0x4a12e4]
shl eax, 7
mov ecx, dword [0x499bdc]
inc ecx
mov dword [0x499bdc], ecx
or eax, ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x4428fb
mov eax, 0x2df693b7
mov ecx, dword [0x4a05f4]
mov edx, ecx
inc edx
mov dword [0x4a05f4], edx
sub ecx, 0x73e98148
cmp eax, ecx
jl 0x4428f6
mov word [0x4a24cc], 0x58a5
jmp 0x4428fb
mov eax, dword [esp + 0x754]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5ed]
mov dword [ecx], eax
call fcn.00455432
mov dword [esp + 0x74c], eax
mov eax, dword [0x4a0dc4]
xor eax, 0x44020d00
mov dword [0x4a0dc4], eax
mov eax, dword [esp + 0x754]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00405f10
mov eax, dword [0x496360]
add eax, 0xcea5478f
mov dword [0x496360], eax
cmp dword [esp + 0x74c], 0
je 0x442e18
mov eax, dword [0x498494]
mov ecx, eax
dec ecx
mov dword [0x498494], ecx
sub eax, 0x8764683b
add eax, 0xf7af3425
cmp eax, 0xae500a27
jne 0x442991
mov eax, dword [0x4a0828]
and eax, 0x1c2e679b
mov dword [0x4a0828], eax
mov eax, 0x8220b184
mov ecx, dword [0x496dcc]
imul ecx, ecx, 0x621bf75d
mov dword [0x496dcc], ecx
mov ecx, dword [esp + 0x74c]
mov edx, dword [esp + 0x75c]
mov dword [esp + 0x44], ecx
mov ecx, edx
mov dword [esp + 0x40], eax
call fcn.004486c0
mov ecx, dword [esp + 0x75c]
mov dword [esp + 0x3c], eax
call fcn.0041e1e0
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00455b06
mov ecx, dword [0x49c0ac]
sar ecx, 0xa
imul ecx, ecx, 0xcd9e52e2
or ecx, 0xe04c189
mov dword [0x49e318], ecx
mov ecx, dword [esp + 0x74c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.00455bf4
mov si, word [0x4a23f8]
movsx ecx, si
mov edx, dword [esp + 0x40]
cmp edx, ecx
mov dword [esp + 0x34], eax
jle 0x442a58
mov eax, dword [0x4a1660]
add eax, 0xfe9bba53
mov ecx, dword [0x49d1e8]
or eax, ecx
or eax, 0x48221082
mov dword [0x49d1e8], eax
mov eax, 0xe7e178d2
mov ecx, dword [esp + 0x75c]
mov dword [esp + 0x30], eax
call fcn.00420700
mov eax, dword [0x496af4]
mov ecx, eax
dec ecx
mov dword [0x496af4], ecx
or eax, 0x7032d1cc
mov ecx, dword [0x49487c]
xor ecx, eax
mov dword [0x49487c], ecx
mov byte [esp + 0x19f], 0
mov eax, dword [0x498dd0]
and eax, 0x8250a309
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jle 0x442ac9
mov ax, word [0x4a7c90]
mov cx, ax
imul ecx, ecx, 0x7781b759
mov ax, cx
mov word [0x4a7c90], ax
jmp 0x442b38
mov eax, dword [0x495774]
mov ecx, eax
dec ecx
mov dword [0x495774], ecx
add eax, 0x7e1732dd
or eax, 0xadf2274f
mov ecx, dword [0x49e7e8]
mov edx, ecx
dec edx
mov dword [0x49e7e8], edx
imul ecx, ecx, 0xca6b387e
and ecx, 0x96a529c7
cmp eax, ecx
jg 0x442b33
mov eax, dword [0x49d4d8]
or eax, 0x9d69b4b0
mov ecx, dword [0x49a69c]
inc ecx
mov dword [0x49a69c], ecx
or ecx, 0x44282dda
cmp eax, ecx
je 0x442b2e
jmp 0x442b2e
jmp 0x442b33
jmp 0x442b38
mov eax, dword [0x492da8]
mov ecx, esp
lea edx, [esp + 0x54]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x14b
mov dword [ecx], 0
call eax
sub esp, 0xc
mov si, word [0x4a21a0]
mov cx, si
dec ecx
mov si, cx
mov word [0x4a21a0], si
movsx ecx, si
add ecx, 0xc199937e
mov edx, dword [0x49dc30]
xor edx, 0x15589f83
or edx, 0xaabd1f2f
cmp ecx, edx
mov dword [esp + 0x2c], eax
je 0x442bd3
mov eax, 0x590cdf60
mov ecx, dword [0x497974]
dec ecx
mov dword [0x497974], ecx
add ecx, 0xc1aee3c7
cmp eax, ecx
jge 0x442bce
mov eax, dword [0x49dfc4]
shl eax, 8
mov ecx, dword [0x497020]
or eax, ecx
or eax, 0xd2f7f2bf
mov dword [0x497020], eax
jmp 0x442bd3
mov eax, 0xaed565af
mov byte [esp + 0x5e7], 0
mov ecx, dword [0x4944e0]
or ecx, 0x7bc43484
mov edx, dword [0x495788]
imul edx, ecx
mov dword [0x495788], edx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0xeaf
mov dword [esp + 0x28], eax
call fcn.00401920
mov dword [esp + 0x750], eax
mov eax, dword [0x498c9c]
mov ecx, eax
dec ecx
mov dword [0x498c9c], ecx
or eax, 0xc9adf864
mov ecx, dword [0x4942b4]
imul ecx, eax
mov dword [0x4942b4], ecx
mov eax, dword [0x4a954c]
mov ecx, dword [0x4a9534]
mov edx, dword [esp + 0x750]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x54]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea eax, [esp + 0x1a0]
mov dword [esi], eax
call fcn.0045558f
mov ecx, dword [0x497774]
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x24], eax
jne 0x442c93
mov eax, dword [0x49eee8]
and eax, 0x83f64d8d
mov dword [0x49eee8], eax
mov eax, dword [esp + 0x750]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x15
call fcn.00405f10
mov eax, dword [0x49b610]
xor eax, 0x987b7cc9
mov dword [0x49b610], eax
mov eax, dword [0x4a954c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00416860
mov dx, word [0x4a7a20]
movsx ecx, dx
mov dx, word [0x4a48ce]
movsx esi, dx
or esi, 0x8e542196
cmp ecx, esi
mov dword [esp + 0x20], eax
jge 0x442d1d
mov ax, word [0x4a5772]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a5772], ax
movsx ecx, ax
xor ecx, 0x4920a86c
or ecx, 0xa6dd5693
mov edx, dword [0x495120]
xor edx, ecx
mov dword [0x495120], edx
mov eax, esp
lea ecx, [esp + 0x1a0]
mov dword [eax + 4], ecx
lea edx, [esp + 0x5ed]
mov dword [eax], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
call fcn.00431370
mov si, word [0x4a2430]
mov ax, si
imul eax, eax, 0xf146c0
mov si, ax
mov word [0x4a2430], si
mov eax, esp
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0x448
call fcn.00418560
mov si, word [0x4a4950]
mov ax, si
add eax, 0xf3f80636
mov si, ax
mov word [0x4a4950], si
mov eax, esp
lea ecx, [esp + 0x54]
mov dword [eax], ecx
mov dword [eax + 4], 0x14c
call fcn.00418560
mov eax, dword [0x49bb30]
shl eax, 6
mov ecx, dword [0x498f7c]
add ecx, 0xd555535c
xor eax, ecx
mov si, word [0x4a7038]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4a7038], si
mov eax, dword [0x492e04]
mov ecx, esp
mov dword [ecx], 0x16447
call eax
sub esp, 4
mov eax, dword [0x49777c]
add eax, 0xae993d80
mov dword [0x49777c], eax
mov eax, dword [0x492d54]
mov ecx, esp
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x49a3c8]
add ecx, 0x9ebc0dd8
mov edx, dword [0x49bed8]
sub edx, ecx
mov dword [0x49bed8], edx
mov dword [esp + 0x14], eax
mov ax, word [0x4a80bc]
mov cx, ax
imul ecx, ecx, 0x92404ace
mov ax, cx
mov word [0x4a80bc], ax
mov ecx, esp
lea edx, [esp + 0x5ed]
mov dword [ecx], edx
mov dword [ecx + 4], 0x15f
call fcn.00418560
mov ecx, dword [0x49355c]
shl ecx, 0xa
add ecx, 0xc4a4e7c7
mov ax, word [0x4a667c]
movsx edx, ax
add ecx, edx
cmp ecx, 0x7dc99e3a
jg 0x442e85
mov ax, word [0x4a327e]
movsx ecx, ax
sar ecx, 5
imul ecx, ecx, 0xfacea537
mov dword [0x49a164], ecx
jmp 0x442e8a
mov word [0x4a72b6], 0xf765
add esp, 0x760
pop esi
ret