Function at 0x42d1e0
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 [0x4a3344]
mov ecx, eax
inc ecx
mov dword [0x4a3344], ecx
mov ecx, dword [0x49faec]
lea eax, [eax + ecx + 0x28d070c4]
mov dword [0x49faec], eax
mov eax, dword [0x4998c8]
imul eax, eax, 0x40df34d8
mov dword [0x4998c8], eax
cmp dword [0x4a4b68], 0
jne 0x42d286
mov eax, 0x25ce98f5
mov ecx, dword [0x4a03c4]
and ecx, 0x5d73ed4a
mov dword [0x4a03c4], ecx
mov dword [esp + 0x1c], eax
call fcn.004430e0
mov dword [0x4a4b68], eax
mov eax, dword [0x49a70c]
inc eax
mov dword [0x49a70c], eax
or eax, 0x6caadf0b
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jle 0x42d281
mov eax, dword [0x4a1978]
and eax, 0x20b02000
mov dword [0x4a1978], eax
jmp 0x42d286
mov ax, word [0x49569e]
mov cx, ax
and ecx, 0x526d
mov ax, cx
mov word [0x49569e], ax
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x4655
call fcn.0040dbe0
mov dword [esp + 0x28], eax
mov dx, word [0x49367e]
movsx eax, dx
mov ecx, 0xac79c69a
sub ecx, eax
xor ecx, 0x24c632f9
mov eax, dword [0x4a2158]
and eax, ecx
mov dword [0x4a2158], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], ecx
call fcn.00455b0c
mov dword [esp + 0x20], eax
mov eax, dword [0x49a38c]
imul eax, eax, 0xdb0b2f36
mov dword [0x49a38c], eax
mov eax, dword [esp + 0x28]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00402190
mov eax, dword [0x4a280c]
or eax, 0xad397079
mov dword [0x4a280c], eax
cmp dword [esp + 0x20], 0
jne 0x42d481
mov eax, 0x81728760
mov cx, word [0x494c68]
mov dx, cx
xor edx, 0xe6c0
mov cx, dx
mov word [0x494c68], cx
mov edx, dword [0x4931c4]
mov esi, esp
mov dword [esi], 0x410
mov dword [esp + 0x18], eax
call edx
sub esp, 4
mov eax, dword [0x49d434]
xor eax, 0xe81e7c21
mov dword [0x49d434], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x4655
call fcn.0040dbe0
mov dword [esp + 0x24], eax
mov cx, word [0x497a92]
movsx eax, cx
not eax
and eax, 0x19254bb4
mov edx, dword [0x498da4]
sub edx, eax
mov dword [0x498da4], edx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], edx
call fcn.00455b0c
mov dword [esp + 0x20], eax
mov eax, dword [0x4a38dc]
sar eax, 6
mov edx, dword [esp + 0x18]
cmp edx, eax
jl 0x42d417
mov eax, dword [0x49a2fc]
mov ecx, dword [0x4a1f6c]
or eax, ecx
cmp eax, 0x38f3e629
jge 0x42d412
mov eax, 0x24042880
mov ecx, dword [0x4a0a68]
add ecx, 0x469dcf5a
cmp eax, ecx
je 0x42d40d
jmp 0x42d40d
jmp 0x42d412
jmp 0x42d43d
mov eax, dword [0x4a13e4]
imul eax, eax, 0x6495d1dc
add eax, 0x90b44a08
mov cx, word [0x496828]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x496828], cx
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00402190
mov eax, dword [0x49e168]
mov ecx, eax
inc ecx
mov dword [0x49e168], ecx
mov ecx, dword [0x4a3108]
sar ecx, 4
neg ecx
lea eax, [eax + ecx + 1]
or eax, 0x4db55840
mov ecx, dword [0x49af08]
add ecx, eax
mov dword [0x49af08], ecx
mov eax, 0x161e8a73
mov ecx, dword [0x4a1ca8]
sar ecx, 0xa
sub ecx, 0xb6aad1d8
add ecx, 0x654cc1c1
cmp eax, ecx
je 0x42d4c0
mov ax, word [0x4968ac]
mov cx, ax
add ecx, 0xc6803594
mov ax, cx
mov word [0x4968ac], ax
jmp 0x42d4d9
mov eax, dword [0x49e7e0]
inc eax
mov dword [0x49e7e0], eax
mov ecx, dword [0x49cc48]
xor ecx, eax
mov dword [0x49cc48], ecx
cmp dword [esp + 0x20], 0
je 0x42d57d
mov eax, dword [0x49dd18]
xor eax, 0xb3a5014
mov dword [0x49dd18], 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], 0x4a4b68
call fcn.00455cbf
mov dx, word [0x496fa8]
movsx ecx, dx
sar ecx, 6
or ecx, 0x163f735b
mov esi, dword [0x4a3aa4]
imul esi, ecx
mov dword [0x4a3aa4], esi
mov ecx, dword [esp + 0x20]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x14], eax
call fcn.00455dad
mov ecx, dword [0x49c310]
mov esi, ecx
dec esi
mov dword [0x49c310], esi
mov dx, word [0x495782]
movsx esi, dx
imul esi, esi, 0xbdd541d7
lea ecx, [ecx + esi - 1]
mov esi, dword [0x4a230c]
xor esi, ecx
mov dword [0x4a230c], esi
mov dword [esp + 0x10], eax
mov ax, word [0x4957e0]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4957e0], dx
movsx ecx, ax
mov esi, 0xade266c0
sub esi, ecx
mov ecx, dword [0x4a2920]
or ecx, esi
mov dword [0x4a2920], ecx
add esp, 0x34
pop esi
ret