Function at 0x424e80
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x70c
mov eax, dword [esp + 0x718]
mov dword [esp + 0x708], eax
mov eax, dword [0x49a4d8]
sar eax, 0xa
mov ecx, dword [0x49acb8]
and ecx, eax
mov dword [0x49acb8], ecx
mov eax, dword [esp + 0x708]
mov ecx, eax
call fcn.0040ef30
cmp eax, 0x802a
jbe 0x425603
mov eax, 0x484d1400
mov ecx, dword [0x4939f8]
and ecx, 0x454a1843
mov dword [0x4939f8], ecx
mov ecx, dword [0x4962c0]
sar ecx, 5
add ecx, 0x80dde674
cmp eax, ecx
jne 0x424f4c
mov eax, dword [0x499390]
sar eax, 3
mov cx, word [0x493710]
movsx edx, cx
and edx, 0x3133193b
xor eax, edx
mov edx, dword [0x49bb1c]
cmp eax, edx
jge 0x424f2f
mov eax, dword [0x495ab4]
add eax, 0xc4ca518d
mov dword [0x495ab4], eax
jmp 0x424f47
mov ax, word [0x4914be]
mov cx, ax
imul ecx, ecx, 0xfdcfe987
mov ax, cx
mov word [0x4914be], ax
jmp 0x424f4c
mov eax, dword [0x495c6c]
or eax, 0xfbf7fbf1
mov dword [0x495c6c], eax
mov eax, dword [0x496df4]
inc eax
mov dword [0x496df4], eax
and eax, 0xca4f
mov cx, word [0x4920da]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4920da], cx
mov eax, esp
lea edx, [esp + 0x5b6]
mov dword [eax], edx
call fcn.0043ce80
mov dword [esp + 0x5b0], eax
mov eax, dword [0x498fe0]
xor eax, 0x80f770de
mov dword [0x498fe0], eax
call fcn.0040faa0
movzx edx, al
and edx, 3
add edx, 7
mov esi, dword [esp + 0x5b0]
lea esi, [esp + esi + 0x5b6]
mov edi, esp
mov dword [edi + 4], edx
mov dword [edi], esi
call fcn.00430080
mov dword [0x49bdfc], 0xc66fa7ef
mov edx, esp
mov dword [edx + 4], 5
mov dword [edx], 0x386c
call fcn.0042c7c0
mov dword [esp + 0x704], eax
mov eax, dword [0x49972c]
dec eax
mov dword [0x49972c], eax
cmp eax, 0x79b2fdb1
jne 0x425024
mov eax, dword [0x494230]
shl eax, 2
mov ecx, dword [0x49a3d0]
and eax, ecx
and eax, 0x501626a0
mov dword [0x49a3d0], eax
mov eax, dword [esp + 0x704]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5b6]
mov dword [ecx], eax
call fcn.004554e0
mov word [0x490528], 0x204
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x1ab0
mov dword [esp + 0x50], eax
call fcn.0042c7c0
mov dword [esp + 0x700], eax
mov eax, dword [0x493810]
imul eax, eax, 0x514b244
mov dword [0x493810], eax
mov eax, dword [esp + 0x704]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.00450bc0
mov eax, dword [0x49b6a8]
sar eax, 3
imul eax, eax, 0x91dac757
or eax, 0xe3784695
cmp eax, 0x7be7c353
jge 0x4250d8
mov eax, 0x23104950
mov ecx, dword [0x4972ec]
or ecx, 0x9af389fb
cmp eax, ecx
jle 0x4250d3
mov eax, dword [0x4976c0]
or eax, 0xd0829497
mov dword [0x4976c0], eax
jmp 0x4250e8
mov eax, dword [0x495d20]
imul eax, eax, 0xddf12ab5
mov dword [0x495d20], eax
mov eax, dword [esp + 0x700]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5b6]
mov dword [ecx], eax
call fcn.0045ae2b
mov dword [esp + 0x6f8], eax
mov eax, dword [0x497a64]
or eax, 0x8bb1afa2
mov dword [0x497a64], eax
mov eax, dword [esp + 0x700]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00450bc0
mov eax, dword [0x4989cc]
or eax, 0xc408b5b0
mov dword [0x4989cc], eax
cmp dword [esp + 0x6f8], 0
je 0x42554d
mov eax, 0x500a9a21
mov dword [0x497644], 0xc4af73ba
mov dword [0x497e90], 0x3e79d7ef
mov ecx, dword [esp + 0x6f8]
mov edx, dword [esp + 0x708]
mov dword [esp + 0x4c], ecx
mov ecx, edx
mov dword [esp + 0x48], eax
call fcn.0040ef30
mov ecx, dword [esp + 0x708]
mov dword [esp + 0x44], eax
call fcn.00443800
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x44]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.0045cc44
mov si, word [0x48feec]
movsx ecx, si
xor ecx, 0xffffffff
sub ecx, 0x19d1f909
mov edx, dword [esp + 0x48]
cmp edx, ecx
mov dword [esp + 0x40], eax
jl 0x4251f6
mov eax, dword [0x49c518]
shl eax, 6
or eax, 0xbe52
mov cx, word [0x492704]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x492704], cx
mov eax, dword [esp + 0x6f8]
mov ecx, esp
mov dword [ecx], eax
call fcn.0045cd32
mov ecx, dword [0x499bc0]
add ecx, 0xa5e33953
mov dword [0x499bc0], ecx
mov ecx, dword [esp + 0x708]
mov dword [esp + 0x3c], eax
call fcn.004186d0
mov eax, dword [0x49be80]
xor eax, 0xc92559c8
mov dword [0x49be80], eax
mov byte [esp + 0x184], 0
mov eax, dword [0x495214]
dec eax
mov dword [0x495214], eax
mov ecx, dword [0x494990]
and ecx, 0xa70f91ef
xor eax, ecx
mov dx, word [0x4919c0]
mov cx, dx
dec ecx
mov si, cx
mov word [0x4919c0], si
movsx ecx, dx
xor ecx, 0xf3a9ca9c
cmp eax, ecx
jge 0x4252a3
mov ax, word [0x490ef8]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x490ef8], dx
movsx ecx, ax
mov esi, dword [0x499408]
sub esi, ecx
mov dword [0x499408], esi
mov eax, 0x164bc245
mov ecx, dword [0x48ef28]
mov edx, esp
lea esi, [esp + 0x56]
mov dword [edx + 4], esi
mov dword [edx + 8], 0x12e
mov dword [edx], 0
mov dword [esp + 0x38], eax
call ecx
sub esp, 0xc
mov ecx, dword [0x49b284]
or ecx, 0x974048
mov dword [0x49b284], ecx
mov byte [esp + 0x5af], 0
mov ecx, dword [0x4981f0]
sar ecx, 7
mov edx, dword [esp + 0x38]
cmp edx, ecx
mov dword [esp + 0x34], eax
jg 0x42531d
mov ax, word [0x48f6d8]
movsx ecx, ax
mov edx, dword [0x499d94]
imul edx, ecx
mov dword [0x499d94], edx
jmp 0x42534c
mov ax, word [0x48f942]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x48f942], ax
or ecx, 0x243b
mov ax, word [0x491886]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x491886], ax
mov eax, 0xcb3342d8
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x28e3
mov dword [esp + 0x30], eax
call fcn.0042c7c0
mov dword [esp + 0x6fc], eax
mov eax, dword [0x499c64]
add eax, 0x42fbfada
mov dword [0x499c64], eax
mov eax, dword [0x49d124]
mov ecx, dword [0x49d10c]
mov edx, dword [esp + 0x6fc]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x56]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x185]
mov dword [esi], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
call fcn.004589a9
mov ecx, dword [0x4966e4]
xor ecx, 0xa15898b9
mov dword [0x49967c], ecx
mov ecx, dword [esp + 0x6fc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x24], eax
call fcn.00450bc0
mov eax, dword [0x498be4]
imul eax, eax, 0x82befed
mov dword [0x498be4], eax
mov eax, dword [0x49d124]
mov ecx, esp
mov dword [ecx], eax
call fcn.0043f670
mov ecx, dword [0x49577c]
or ecx, 0x2d2eba2c
and ecx, 0xad6ebfac
mov dword [0x49397c], ecx
mov ecx, esp
mov edx, dword [esp + 0x2c]
mov dword [ecx + 4], edx
lea esi, [esp + 0x5b6]
mov dword [ecx], esi
mov dword [esp + 0x20], eax
call fcn.0041f150
mov eax, dword [0x498ab0]
mov ecx, eax
dec ecx
mov dword [0x498ab0], ecx
mov ecx, dword [0x497c6c]
add eax, ecx
mov ecx, dword [0x494260]
sub ecx, eax
mov dword [0x494260], ecx
mov eax, esp
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
mov dword [eax + 4], 0x42b
call fcn.0040ee60
mov eax, dword [0x493aec]
xor eax, 0xfd06812e
mov dword [0x493aec], eax
mov eax, esp
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], 0x12f
call fcn.0040ee60
mov eax, dword [0x494a1c]
imul eax, eax, 0xcacd3a4b
mov dword [0x494a1c], eax
mov eax, dword [0x48ef84]
mov ecx, esp
mov dword [ecx], 0x16059
call eax
sub esp, 4
mov di, word [0x490f6c]
movsx eax, di
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jl 0x4254d9
mov eax, dword [0x494314]
and eax, 0xcc5d4ca8
mov dword [0x494314], eax
mov eax, 0xcd1c2948
mov ecx, dword [0x48eed4]
mov edx, esp
lea esi, [esp + 0x5b6]
mov dword [edx], esi
mov dword [esp + 0x1c], eax
call ecx
sub esp, 4
mov ecx, dword [0x49bd60]
mov edx, dword [esp + 0x1c]
cmp edx, ecx
mov dword [esp + 0x18], eax
jge 0x425530
mov ax, word [0x4907c4]
movsx ecx, ax
mov edx, dword [0x49c1c4]
xor ecx, edx
xor ecx, 0x9b3617d0
mov dword [0x49c1c4], ecx
jmp 0x425548
mov ax, word [0x491060]
mov cx, ax
imul ecx, ecx, 0x8bf7028c
mov ax, cx
mov word [0x491060], ax
jmp 0x42554d
mov eax, 0xe5be05c0
mov ecx, dword [0x49c710]
xor ecx, 0x64811e84
mov dword [0x49c710], ecx
mov ecx, esp
lea edx, [esp + 0x5b6]
mov dword [ecx], edx
mov dword [ecx + 4], 0x142
mov dword [esp + 0x14], eax
call fcn.0040ee60
mov si, word [0x4928aa]
movsx eax, si
shl eax, 0xa
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jl 0x4255e9
mov eax, dword [0x494104]
dec eax
mov dword [0x494104], eax
or eax, 0xabf34b52
mov ecx, dword [0x497294]
sar ecx, 3
sub ecx, 0x5c030ba6
or ecx, 0x8b8cd7a9
cmp eax, ecx
jl 0x4255e4
mov eax, dword [0x497db4]
inc eax
mov dword [0x497db4], eax
imul eax, eax, 0x7e1a5d6a
mov ecx, dword [0x495940]
and ecx, eax
mov dword [0x495940], ecx
jmp 0x4255fe
mov eax, dword [0x49575c]
inc eax
mov dword [0x49575c], eax
and eax, 0x1a8381ad
mov dword [0x49935c], eax
jmp 0x425603
mov eax, dword [0x49bb00]
mov dword [0x49a954], eax
add esp, 0x70c
pop esi
pop edi
ret