Function at 0x4aa04e
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa2ab90], 0
mov eax, dword [0x68eb4c]
test eax, eax
je 0x4aa06e
mov byte [0xa2ab90], 1
mov eax, dword [0x6ae3d4]
cmp eax, 1
jne 0x4aa093
mov dword [0x6ae3d4], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x68eb4c]
test eax, eax
jne 0x4aa0b4
mov eax, dword [0x693c24]
test eax, eax
je 0x4aa0b4
mov dword [0xa2a0e0], 1
jmp 0x4abfd3
mov eax, dword [0x6ae3d4]
test eax, eax
jne 0x4abf8f
mov dword [0xa2ab94], 0xffffffff
mov eax, dword [0x5320a0]
mov edx, dword [0x5320a4]
mov dword [0xa2ab98], eax
mov dword [0xa2ab9c], edx
mov dword [0xa2aba0], 0
jmp 0x4aa160
mov eax, dword [0xa2aba0]
shl eax, 5
add eax, 0x693ac0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa2ab98]
mov edx, dword [0xa2ab9c]
cmp ebx, edx
jg 0x4aa153
cmp ebx, edx
jl 0x4aa117
cmp ecx, eax
jae 0x4aa153
mov eax, dword [0xa2aba0]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 3
jne 0x4aa153
mov eax, dword [0xa2aba0]
shl eax, 5
add eax, 0x693ac0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa2ab98], eax
mov dword [0xa2ab9c], edx
mov eax, dword [0xa2aba0]
mov dword [0xa2ab94], eax
mov eax, dword [0xa2aba0]
add eax, 1
mov dword [0xa2aba0], eax
mov eax, dword [0xa2aba0]
cmp eax, 2
setle al
test al, al
jne 0x4aa0ed
mov dword [0xa2aba0], 0
jmp 0x4aa1aa
mov eax, dword [0xa2aba0]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 1
jne 0x4aa19d
mov eax, dword [0xa2aba0]
mov dword [0xa2ab94], eax
mov eax, dword [0xa2aba0]
add eax, 1
mov dword [0xa2aba0], eax
mov eax, dword [0xa2aba0]
cmp eax, 2
setle al
test al, al
jne 0x4aa17f
mov eax, dword [0xa2ab94]
cmp eax, 0xffffffff
jne 0x4aa1d4
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.00450857
jmp 0x4abfd3
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ac0
mov dword [eax], 2
mov ecx, dword [0xa2ab94]
mov eax, dword [0x5320a0]
mov edx, dword [0x5320a4]
shl ecx, 5
add ecx, 0x693ac0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add eax, 1
adc edx, 0
mov dword [0x5320a0], eax
mov dword [0x5320a4], edx
mov eax, dword [0x68eb4c]
test eax, eax
je 0x4aa269
mov dword [esp + 8], 1
fld qword [0x561fe8]
fstp qword [esp]
call fcn.00471fde
fstp qword [0xa2aba8]
fld qword [0xa2abb0]
fld qword [0xa2aba8]
fsubp st(1)
fabs
fld qword [0x562170]
fucompi st(1)
fstp st(0)
ja 0x4abf2e
fld qword [0xa2aba8]
fstp qword [0xa2abb0]
mov eax, dword [0x6a4614]
test eax, eax
je 0x4abf31
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa2abb8], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa2abbc], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4aa2f8
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x693c34]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa2abb8], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x693c30]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa2abbc], eax
mov eax, dword [0xa2abb8]
cmp eax, 0x200
jg 0x4aa328
mov eax, dword [0xa2abbc]
cmp eax, 0x180
jg 0x4aa328
mov eax, dword [0xa2abb8]
add eax, eax
mov dword [0xa2abb8], eax
mov eax, dword [0xa2abbc]
add eax, eax
mov dword [0xa2abbc], eax
mov dword [0xa2abc0], 0xffffffff
mov dword [0xa2abc4], 0xffffffff
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa2abb8], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa2abbc], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4aa3be
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x693c34]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa2abb8], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x693c30]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa2abbc], eax
mov eax, dword [0xa2abb8]
mov dword [0x6a4634], eax
mov eax, dword [0xa2abbc]
mov dword [0x6a4638], eax
mov dword [0xa2abc8], 0
mov dword [0x6a463c], 0
mov eax, dword [0x6a4618]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4ab56a
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
mov dword [0xa2abcc], eax
mov eax, dword [0x693c34]
mov edx, dword [0xa2abcc]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa2abd0], eax
mov eax, dword [0x693c30]
mov edx, dword [0xa2abcc]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa2abd4], eax
mov eax, dword [0x6ae3c0]
mov dword [0xa2abd8], eax
mov dword [0xa2abdc], 0
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa2aba0], eax
mov eax, dword [0xa2aba0]
mov edx, eax
mov eax, dword [0x532560]
cmp edx, eax
je 0x4aa4b4
mov eax, dword [0x6ae3c4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa2aba0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x6ae3c4], eax
mov eax, dword [0xa2aba0]
mov dword [0x532560], eax
mov dword [0xa2abd8], 0
mov eax, dword [0x532854]
test eax, eax
jne 0x4aa4cb
mov eax, dword [0xa2abd8]
cmp eax, 1
je 0x4abf34
mov eax, dword [0xa2abd8]
test eax, eax
jne 0x4aa4f6
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa2a140
call sub.msvcrt.dll_memcpy
jmp 0x4aa544
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa2a140
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4aa544
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa2a140
call sub.msvcrt.dll_memcpy
mov dword [0xa2abd8], 0
mov eax, dword [0xa2abd8]
test eax, eax
je 0x4aa57e
mov ecx, dword [0x532560]
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0x6ae3c4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4aa57e
mov dword [0xa2abdc], 1
mov eax, dword [0x6ae2ac]
and eax, 8
test eax, eax
je 0x4aa596
mov dword [0xa2abe0], 1
jmp 0x4aa5a0
mov dword [0xa2abe0], 0
mov eax, dword [0x6ae2ac]
and eax, 8
test eax, eax
je 0x4aa5b8
mov dword [0xa2abe4], 1
jmp 0x4aa5c2
mov dword [0xa2abe4], 0
mov eax, dword [0x68eb4c]
test eax, eax
je 0x4aa68e
mov dword [esp + 8], 1
fld qword [0x561fe8]
fstp qword [esp]
call fcn.00471fde
fld qword [0x561f70]
fdivp st(1)
fstp qword [0xa2abe8]
fld qword [0xa2abe8]
fnstcw word [ebp - 0x2a]
movzx eax, word [ebp - 0x2a]
mov ah, 0xc
mov word [ebp - 0x2c], ax
fldcw word [ebp - 0x2c]
fistp qword [ebp - 0x38]
fldcw word [ebp - 0x2a]
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [0xa2abf0], eax
mov dword [0xa2abf4], edx
mov eax, dword [0xa2abf0]
mov edx, dword [0xa2abf4]
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x40], ecx
mov ebx, edx
and ebx, 0
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x40]
test eax, eax
je 0x4aa651
mov dword [0xa2abe0], 1
jmp 0x4aa65b
mov dword [0xa2abe0], 0
mov eax, dword [0xa2abf0]
mov edx, dword [0xa2abf4]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x4aa684
mov dword [0xa2abe4], 1
jmp 0x4aa68e
mov dword [0xa2abe4], 0
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa2abf8], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa2abfc], eax
mov eax, dword [0x6a4614]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x4aa6ee
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa2abfc]
cmp edx, eax
jle 0x4aa6ee
mov eax, dword [0xa2abfc]
add eax, 1
mov dword [0xa2abfc], eax
mov dword [0xa2abf8], 0
mov eax, dword [0xa2abd8]
test eax, eax
je 0x4aa751
mov edx, dword [0xa2abe4]
mov eax, dword [0xa2ac00]
cmp edx, eax
je 0x4aa710
mov dword [0xa2abdc], 1
mov edx, dword [0xa2abe0]
mov eax, dword [0xa2ac04]
cmp edx, eax
je 0x4aa729
mov dword [0xa2abdc], 1
mov edx, dword [0xa2abf8]
mov eax, dword [0x532874]
cmp edx, eax
jne 0x4aa747
mov edx, dword [0xa2abfc]
mov eax, dword [0x532878]
cmp edx, eax
je 0x4aa751
mov dword [0xa2abdc], 1
mov eax, dword [0xa2abd8]
test eax, eax
jne 0x4aa764
mov dword [0xa2abdc], 1
mov eax, dword [0xa2abdc]
test eax, eax
je 0x4abf37
mov edx, dword [0x6a4634]
mov eax, dword [0x6a4638]
imul eax, edx
shl eax, 2
mov dword [0xa2ac08], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa2ac08]
cmp edx, eax
jge 0x4aa7ee
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa2ab94]
mov eax, dword [0xa2ac08]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x693ad0
mov dword [edx], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0xa2ac08]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 0xc], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0x6a4634]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 4], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0x6a4638]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 8], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [0x6a4618], eax
mov eax, dword [0xa2abd8]
test eax, eax
je 0x4aa97c
mov dword [0xa2ac10], 0
mov dword [0xa2ac14], 0
mov dword [0xa2ac18], 0xffffffff
mov dword [0xa2ac1c], 0
jmp 0x4aa8f1
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 4
je 0x4aa892
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 3
jne 0x4aa8e4
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa2ac10]
mov edx, dword [0xa2ac14]
cmp ebx, edx
jl 0x4aa8e4
cmp ebx, edx
jg 0x4aa8bc
cmp ecx, eax
jbe 0x4aa8e4
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa2ac10], eax
mov dword [0xa2ac14], edx
mov eax, dword [0xa2ac1c]
mov dword [0xa2ac18], eax
mov eax, dword [0xa2ac1c]
add eax, 1
mov dword [0xa2ac1c], eax
mov eax, dword [0xa2ac1c]
cmp eax, 2
setle al
test al, al
jne 0x4aa86a
mov eax, dword [0xa2ac18]
cmp eax, 0xffffffff
je 0x4aa966
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 4]
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa2ac18]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax]
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4aa97c
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.00450857
mov dword [0xa2abd8], 0
mov dword [0xa2ac20], 0
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x40]
mov dword [0xa2ac24], eax
mov eax, dword [0x6ae3c4]
mov dword [0xa2ac28], eax
movzx eax, byte [0xa2ab90]
test al, al
je 0x4aa9ad
call fcn.004a9fd2
mov dword [0xa2ac2c], 0
mov dword [0xa2abbc], 0
jmp 0x4ab4f0
mov dword [0xa2ac30], 0
mov dword [0xa2abb8], 0
jmp 0x4ab4a4
mov eax, dword [0xa2ac24]
movzx eax, byte [eax]
mov byte [0xa2ac34], al
mov eax, dword [0xa2ac24]
add eax, 1
mov dword [0xa2ac24], eax
mov eax, dword [0xa2ac24]
movzx eax, byte [eax]
mov byte [0xa2ac35], al
mov eax, dword [0xa2ac24]
add eax, 1
mov dword [0xa2ac24], eax
mov eax, dword [0xa2ac28]
movzx eax, byte [eax]
mov byte [0xa2ac36], al
mov eax, dword [0xa2ac28]
add eax, 1
mov dword [0xa2ac28], eax
mov eax, dword [0xa2ac28]
movzx eax, byte [eax]
mov byte [0xa2ac37], al
mov eax, dword [0xa2ac28]
add eax, 1
mov dword [0xa2ac28], eax
mov eax, dword [0xa2abd8]
test eax, eax
je 0x4aab15
movzx edx, byte [0xa2ac34]
movzx eax, byte [0xa2ac36]
cmp dl, al
jne 0x4aab15
movzx edx, byte [0xa2ac35]
movzx eax, byte [0xa2ac37]
cmp dl, al
jne 0x4aab15
movzx eax, byte [0xa2ac35]
test al, al
jns 0x4aaa9a
mov edx, dword [0xa2abe4]
mov eax, dword [0xa2ac00]
cmp edx, eax
jne 0x4aab11
mov edx, dword [0xa2abb8]
mov eax, dword [0xa2abf8]
cmp edx, eax
jne 0x4aaac7
mov edx, dword [0xa2abbc]
mov eax, dword [0xa2abfc]
cmp edx, eax
jne 0x4aaac7
mov edx, dword [0xa2abe0]
mov eax, dword [0xa2ac04]
cmp edx, eax
jne 0x4aab14
mov edx, dword [0xa2abb8]
mov eax, dword [0x532874]
cmp edx, eax
jne 0x4ab472
mov edx, dword [0xa2abbc]
mov eax, dword [0x532878]
cmp edx, eax
jne 0x4ab472
mov edx, dword [0xa2abf8]
mov eax, dword [0x532874]
cmp edx, eax
jne 0x4aab15
mov edx, dword [0xa2abfc]
mov eax, dword [0x532878]
cmp edx, eax
je 0x4ab472
jmp 0x4aab15
nop
jmp 0x4aab15
nop
mov eax, dword [0xa2ac28]
sub eax, 2
mov dword [0xa2ac28], eax
mov eax, dword [0xa2ac28]
movzx edx, byte [0xa2ac34]
mov byte [eax], dl
mov eax, dword [0xa2ac28]
add eax, 1
mov dword [0xa2ac28], eax
mov eax, dword [0xa2ac28]
movzx edx, byte [0xa2ac35]
mov byte [eax], dl
mov eax, dword [0xa2ac28]
add eax, 1
mov dword [0xa2ac28], eax
mov dword [0xa2ac38], 0
mov eax, dword [0xa2abcc]
cmp eax, 0x1f
jle 0x4aac2e
movzx eax, byte [0xa2ac34]
movzx eax, al
movzx eax, word [eax + eax + 0x5320c0]
movzx eax, ax
mov dword [0xa2ac3c], eax
mov dword [0xa2ac40], 1
mov eax, dword [0xa2ac44]
test eax, eax
je 0x4aabaa
mov eax, dword [0xa2ac44]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa2ac40]
mov eax, dword [0x693c2c]
mov ecx, dword [0xa2abcc]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa2ac58
mov dword [esp + 0x1c], 0xa2ac54
mov dword [esp + 0x18], 0xa2ac50
mov dword [esp + 0x14], 0xa2ac4c
mov dword [esp + 0x10], 0xa2ac48
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa2ac3c
mov dword [esp], eax
call fcn.0044fda5
mov dword [0xa2ac5c], eax
mov eax, dword [0xa2ac48]
mov dword [0xa2ac44], eax
mov eax, dword [0xa2ac48]
mov dword [0xa2ac60], eax
mov dword [0xa2ac64], 0
jmp 0x4aad22
mov dword [0xa2ac64], 0
mov eax, dword [0xa2abcc]
cmp eax, 8
jne 0x4aac59
movzx eax, byte [0xa2ac34]
movzx eax, al
shl eax, 6
add eax, 0xa1cbe0
mov dword [0xa2ac60], eax
mov eax, dword [0xa2abcc]
cmp eax, 0xe
jne 0x4aac7d
movzx eax, byte [0xa2ac34]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa20be0
mov dword [0xa2ac60], eax
mov eax, dword [0xa2abcc]
cmp eax, 0x10
jne 0x4aac9e
movzx eax, byte [0xa2ac34]
movzx eax, al
shl eax, 7
add eax, 0xa20be0
mov dword [0xa2ac60], eax
mov eax, dword [0xa2abcc]
cmp eax, 9
jne 0x4aacc9
movzx eax, byte [0xa2ac34]
movzx eax, al
shl eax, 6
add eax, 0xa1cbe0
mov dword [0xa2ac60], eax
mov dword [0xa2ac38], 1
mov eax, dword [0xa2abcc]
cmp eax, 0xf
jne 0x4aacf7
movzx eax, byte [0xa2ac34]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa20be0
mov dword [0xa2ac60], eax
mov dword [0xa2ac38], 1
mov eax, dword [0xa2abcc]
cmp eax, 0x11
jne 0x4aad22
movzx eax, byte [0xa2ac34]
movzx eax, al
shl eax, 7
add eax, 0xa20be0
mov dword [0xa2ac60], eax
mov dword [0xa2ac38], 1
movzx eax, byte [0xa2ac35]
and eax, 0xf
mov byte [0xa2ac68], al
mov eax, dword [0x532650]
test eax, eax
je 0x4aad63
movzx eax, byte [0xa2ac35]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa2ac69], al
movzx eax, byte [0xa2ac35]
movzx eax, al
sar eax, 7
mov byte [0xa2ac6a], al
jmp 0x4aad75
movzx eax, byte [0xa2ac35]
movzx eax, al
sar eax, 4
mov byte [0xa2ac69], al
movzx eax, byte [0xa2ac6a]
test al, al
je 0x4aad9e
mov eax, dword [0xa2abe4]
test eax, eax
je 0x4aad9e
mov eax, dword [0x532650]
test eax, eax
je 0x4aad9e
movzx eax, byte [0xa2ac69]
mov byte [0xa2ac68], al
movzx eax, byte [0xa2ac68]
movzx eax, al
mov eax, dword [eax*4 + 0xa2a140]
mov dword [0xa2ac18], eax
movzx eax, byte [0xa2ac69]
movzx eax, al
mov eax, dword [eax*4 + 0xa2a140]
mov dword [0xa2ac1c], eax
mov eax, dword [0x6a4618]
mov ecx, dword [0xa2ac2c]
mov edx, dword [0x6a4634]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa2ac20]
add ecx, edx
mov edx, dword [0xa2ac30]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa2ac6c], eax
mov edx, dword [0x6a4634]
mov ecx, dword [0x693c34]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov dword [0xa2abc8], eax
mov dword [0xa2ac70], 0
jmp 0x4aaeff
mov dword [0xa2ac74], 0
jmp 0x4aaeb3
mov eax, dword [0xa2ac60]
movzx eax, byte [eax]
test al, al
je 0x4aae56
mov eax, dword [0xa2ac6c]
mov edx, dword [0xa2ac18]
mov dword [eax], edx
jmp 0x4aae63
mov eax, dword [0xa2ac6c]
mov edx, dword [0xa2ac1c]
mov dword [eax], edx
mov eax, dword [0xa2ac38]
test eax, eax
je 0x4aae8c
mov edx, dword [0xa2ac74]
mov eax, dword [0xa2ac38]
and eax, edx
test eax, eax
je 0x4aae99
mov eax, dword [0xa2ac60]
add eax, 1
mov dword [0xa2ac60], eax
jmp 0x4aae99
mov eax, dword [0xa2ac60]
add eax, 1
mov dword [0xa2ac60], eax
mov eax, dword [0xa2ac6c]
add eax, 4
mov dword [0xa2ac6c], eax
mov eax, dword [0xa2ac74]
add eax, 1
mov dword [0xa2ac74], eax
mov edx, dword [0xa2ac74]
mov eax, dword [0xa2abd0]
cmp edx, eax
setl al
test al, al
jne 0x4aae3b
mov eax, dword [0xa2ac6c]
mov edx, dword [0xa2abc8]
shl edx, 2
add eax, edx
mov dword [0xa2ac6c], eax
mov edx, dword [0xa2ac60]
mov eax, dword [0xa2ac64]
add eax, edx
mov dword [0xa2ac60], eax
mov eax, dword [0xa2ac70]
add eax, 1
mov dword [0xa2ac70], eax
mov edx, dword [0xa2ac70]
mov eax, dword [0xa2abd4]
cmp edx, eax
setl al
test al, al
jne 0x4aae2f
mov eax, dword [0x6a4614]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x4ab476
mov eax, dword [0xa2abe0]
test eax, eax
je 0x4ab476
mov edx, dword [0xa2abf8]
mov eax, dword [0xa2abb8]
cmp edx, eax
jne 0x4ab476
mov edx, dword [0xa2abfc]
mov eax, dword [0xa2abbc]
cmp edx, eax
jne 0x4ab476
mov eax, dword [0x6a4614]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa2ac78], eax
mov eax, dword [0x6a4614]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa2ac7c], eax
mov byte [0xa2ac80], 0
mov byte [0xa2ac81], 0
mov byte [0xa2ac82], 0
mov byte [0xa2ac83], 0
mov eax, dword [0xa2ac7c]
test eax, eax
jne 0x4aafbb
mov eax, dword [0xa2ac78]
test eax, eax
jne 0x4ab475
mov byte [0xa2ac82], 1
jmp 0x4ab119
mov edx, dword [0xa2ac7c]
mov eax, dword [0xa2ac78]
cmp edx, eax
jge 0x4aafe0
mov eax, dword [0xa2ac7c]
mov byte [0xa2ac83], al
mov byte [0xa2ac82], 0xff
jmp 0x4ab119
mov edx, dword [0xa2ac78]
mov eax, dword [0xa2ac7c]
cmp edx, eax
jne 0x4ab022
mov eax, dword [0xa2ac78]
cmp eax, 3
jg 0x4ab00f
mov eax, dword [0xa2ac78]
mov byte [0xa2ac83], al
mov byte [0xa2ac82], 1
jmp 0x4ab119
mov byte [0xa2ac80], 1
mov byte [0xa2ac82], 1
jmp 0x4ab119
mov eax, dword [0xa2ac78]
cmp eax, 2
jle 0x4ab08a
mov edx, dword [0xa2ac7c]
mov eax, dword [0xa2ac78]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x4ab055
mov byte [0xa2ac80], 1
mov byte [0xa2ac82], 2
jmp 0x4ab119
mov edx, dword [0xa2ac7c]
mov eax, dword [0xa2ac78]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x4ab07e
mov byte [0xa2ac80], 1
mov byte [0xa2ac82], 3
jmp 0x4ab119
mov byte [0xa2ac81], 1
jmp 0x4ab119
mov eax, dword [0xa2ac78]
cmp eax, 1
jg 0x4ab0d7
mov eax, dword [0xa2ac7c]
cmp eax, 3
jg 0x4ab0c4
mov eax, dword [0xa2ac78]
mov byte [0xa2ac83], al
mov eax, dword [0xa2ac7c]
mov edx, eax
mov eax, dword [0xa2ac78]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa2ac82], al
jmp 0x4ab119
mov eax, dword [0xa2ac78]
mov byte [0xa2ac83], al
mov byte [0xa2ac82], 0xff
jmp 0x4ab119
mov eax, dword [0xa2ac7c]
cmp eax, 3
jne 0x4ab0f1
mov byte [0xa2ac83], 2
mov byte [0xa2ac82], 2
jmp 0x4ab119
mov eax, dword [0xa2ac7c]
cmp eax, 4
jne 0x4ab10b
mov byte [0xa2ac80], 1
mov byte [0xa2ac82], 3
jmp 0x4ab119
mov byte [0xa2ac83], 2
mov byte [0xa2ac82], 0xff
mov edx, dword [0x693c34]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa2ac84], eax
mov edx, dword [0x693c30]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa2ac88], eax
movzx eax, byte [0xa2ac81]
test al, al
je 0x4ab250
mov eax, dword [0xa2ac88]
sub eax, 1
mov dword [0xa2ac70], eax
mov eax, dword [0xa2ac88]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa2ac82], al
movzx eax, byte [0xa2ac35]
and eax, 0xf
mov byte [0xa2ac68], al
movzx eax, byte [0xa2ac68]
movzx eax, al
mov eax, dword [eax*4 + 0xa2a140]
mov dword [0xa2ac18], eax
mov eax, dword [0x6a4618]
mov ecx, dword [0xa2ac2c]
mov edx, dword [0xa2ac70]
add ecx, edx
mov edx, dword [0x6a4634]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa2ac20]
add ecx, edx
mov edx, dword [0xa2ac30]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa2ac6c], eax
mov dword [0xa2ac74], 0
jmp 0x4ab20c
mov eax, dword [0xa2ac6c]
mov edx, dword [0xa2ac18]
mov dword [eax], edx
mov eax, dword [0xa2ac6c]
add eax, 4
mov dword [0xa2ac6c], eax
mov eax, dword [0xa2ac74]
add eax, 1
mov dword [0xa2ac74], eax
mov edx, dword [0xa2ac74]
mov eax, dword [0xa2ac84]
cmp edx, eax
setl al
test al, al
jne 0x4ab1e5
mov eax, dword [0xa2ac70]
sub eax, 1
mov dword [0xa2ac70], eax
movzx eax, byte [0xa2ac82]
sub eax, 1
mov byte [0xa2ac82], al
movzx eax, byte [0xa2ac82]
test al, al
je 0x4ab476
jmp 0x4ab1a1
movzx eax, byte [0xa2ac80]
test al, al
je 0x4ab354
mov eax, dword [0xa2ac88]
sub eax, 1
mov dword [0xa2ac70], eax
mov eax, dword [0xa2ac70]
cmp eax, 0xf
jne 0x4ab280
mov dword [0xa2ac70], 0xe
movzx eax, byte [0xa2ac35]
and eax, 0xf
mov byte [0xa2ac68], al
movzx eax, byte [0xa2ac68]
movzx eax, al
mov eax, dword [eax*4 + 0xa2a140]
mov dword [0xa2ac18], eax
mov eax, dword [0x6a4618]
mov ecx, dword [0xa2ac2c]
mov edx, dword [0xa2ac70]
add ecx, edx
mov edx, dword [0x6a4634]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa2ac20]
add ecx, edx
mov edx, dword [0xa2ac30]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa2ac6c], eax
mov dword [0xa2ac74], 0
jmp 0x4ab310
mov eax, dword [0xa2ac6c]
mov edx, dword [0xa2ac18]
mov dword [eax], edx
mov eax, dword [0xa2ac6c]
add eax, 4
mov dword [0xa2ac6c], eax
mov eax, dword [0xa2ac74]
add eax, 1
mov dword [0xa2ac74], eax
mov edx, dword [0xa2ac74]
mov eax, dword [0xa2ac84]
cmp edx, eax
setl al
test al, al
jne 0x4ab2e9
mov eax, dword [0xa2ac70]
sub eax, 1
mov dword [0xa2ac70], eax
movzx eax, byte [0xa2ac82]
sub eax, 1
mov byte [0xa2ac82], al
movzx eax, byte [0xa2ac82]
test al, al
je 0x4ab476
jmp 0x4ab2a5
movzx eax, byte [0xa2ac83]
movzx edx, al
mov eax, dword [0xa2ac88]
cmp edx, eax
jge 0x4ab476
movzx eax, byte [0xa2ac83]
movzx eax, al
mov dword [0xa2ac70], eax
movzx eax, byte [0xa2ac35]
and eax, 0xf
mov byte [0xa2ac68], al
movzx eax, byte [0xa2ac68]
movzx eax, al
mov eax, dword [eax*4 + 0xa2a140]
mov dword [0xa2ac18], eax
movzx eax, byte [0xa2ac82]
cmp al, 0xff
jne 0x4ab3c6
mov eax, dword [0xa2ac88]
mov edx, eax
movzx eax, byte [0xa2ac83]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa2ac82], al
jmp 0x4ab3c6
nop
mov eax, dword [0x6a4618]
mov ecx, dword [0xa2ac2c]
mov edx, dword [0xa2ac70]
add ecx, edx
mov edx, dword [0x6a4634]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa2ac20]
add ecx, edx
mov edx, dword [0xa2ac30]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa2ac6c], eax
mov dword [0xa2ac74], 0
jmp 0x4ab431
mov eax, dword [0xa2ac6c]
mov edx, dword [0xa2ac18]
mov dword [eax], edx
mov eax, dword [0xa2ac6c]
add eax, 4
mov dword [0xa2ac6c], eax
mov eax, dword [0xa2ac74]
add eax, 1
mov dword [0xa2ac74], eax
mov edx, dword [0xa2ac74]
mov eax, dword [0xa2ac84]
cmp edx, eax
setl al
test al, al
jne 0x4ab40a
mov eax, dword [0xa2ac70]
add eax, 1
mov dword [0xa2ac70], eax
movzx eax, byte [0xa2ac82]
sub eax, 1
mov byte [0xa2ac82], al
movzx eax, byte [0xa2ac82]
test al, al
jne 0x4ab3c5
jmp 0x4ab476
nop
jmp 0x4ab476
nop
mov edx, dword [0x693c34]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa2ac30]
add eax, edx
mov dword [0xa2ac30], eax
mov eax, dword [0xa2abb8]
add eax, 1
mov dword [0xa2abb8], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa2abb8]
cmp edx, eax
setg al
test al, al
jne 0x4aa9df
mov edx, dword [0x693c30]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa2ac2c]
add eax, edx
mov dword [0xa2ac2c], eax
mov eax, dword [0xa2abbc]
add eax, 1
mov dword [0xa2abbc], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa2abbc]
cmp edx, eax
setg al
test al, al
jne 0x4aa9c6
mov eax, dword [0xa2abe4]
mov dword [0xa2ac00], eax
mov eax, dword [0xa2abe0]
mov dword [0xa2ac04], eax
mov eax, dword [0xa2abf8]
mov dword [0x532874], eax
mov eax, dword [0xa2abfc]
mov dword [0x532878], eax
mov dword [0x6ae3c0], 1
movzx eax, byte [0xa2ab90]
test al, al
je 0x4ab550
call fcn.004a9fd2
mov eax, dword [0xa2ab94]
mov edx, eax
sar edx, 0x1f
mov dword [0xa2ac90], eax
mov dword [0xa2ac94], edx
jmp 0x4abd45
mov eax, dword [0x6a4614]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x4ab9c4
movzx eax, byte [0xa2ab90]
test al, al
jne 0x4ab71b
mov dword [0xa2ac98], 0
mov dword [0xa2ac9c], 0
mov dword [0xa2ac18], 0xffffffff
mov dword [0xa2ac1c], 0
jmp 0x4ab63e
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 4
je 0x4ab5df
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 3
jne 0x4ab631
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa2ac98]
mov edx, dword [0xa2ac9c]
cmp ebx, edx
jl 0x4ab631
cmp ebx, edx
jg 0x4ab609
cmp ecx, eax
jbe 0x4ab631
mov eax, dword [0xa2ac1c]
shl eax, 5
add eax, 0x693ac0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa2ac98], eax
mov dword [0xa2ac9c], edx
mov eax, dword [0xa2ac1c]
mov dword [0xa2ac18], eax
mov eax, dword [0xa2ac1c]
add eax, 1
mov dword [0xa2ac1c], eax
mov eax, dword [0xa2ac1c]
cmp eax, 2
setle al
test al, al
jne 0x4ab5b7
mov eax, dword [0x693a3c]
test eax, eax
jne 0x4ab7ef
mov eax, dword [0xa2ac18]
cmp eax, 0xffffffff
je 0x4ab7f6
mov eax, dword [0x6ae3c0]
test eax, eax
je 0x4ab7f2
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa2aba0], eax
mov eax, dword [0xa2ac18]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 4]
mov eax, dword [0xa2ac18]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa2aba0]
cmp edx, eax
jne 0x4ab7f5
mov eax, dword [0x532854]
test eax, eax
je 0x4abf3a
mov eax, dword [0xa2aba0]
mov ecx, eax
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa2ac18]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4abf3d
jmp 0x4ab7f6
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa2aba0], eax
mov edx, dword [0xa2aba0]
mov eax, dword [0x53286c]
cmp edx, eax
je 0x4ab778
mov eax, dword [0xa2a134]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa2aba0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa2a134], eax
mov eax, dword [0xa2aba0]
mov dword [0x53286c], eax
jmp 0x4ab7c9
mov eax, dword [0x693a3c]
test eax, eax
jne 0x4ab7c5
mov eax, dword [0x532854]
test eax, eax
je 0x4abf40
mov eax, dword [0xa2aba0]
mov ecx, eax
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa2a134]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4ab7c8
mov eax, dword [0x6ae3c0]
test eax, eax
jne 0x4abf43
jmp 0x4ab7c9
nop
jmp 0x4ab7c9
nop
mov eax, dword [0xa2aba0]
mov ecx, eax
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa2a134]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4ab7f6
nop
jmp 0x4ab7f6
nop
jmp 0x4ab7f6
nop
mov edx, dword [0x6a4634]
mov eax, dword [0x6a4638]
imul eax, edx
shl eax, 2
mov dword [0xa2aca0], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa2aca0]
cmp edx, eax
jge 0x4ab873
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa2ab94]
mov eax, dword [0xa2aca0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x693ad0
mov dword [edx], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0xa2aca0]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 0xc], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0x6a4634]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 4], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0x6a4638]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 8], eax
movzx eax, byte [0xa2ab90]
test al, al
jne 0x4ab900
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 4]
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4abd41
mov eax, dword [0xa2a134]
mov dword [0xa2aca4], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [0xa2aca8], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 4]
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa2acac], eax
mov eax, dword [0xa2acac]
test eax, eax
jle 0x4abd41
jmp 0x4ab9a9
mov eax, dword [0xa2aca4]
mov edx, dword [eax]
mov dword [0xa2acb0], edx
add eax, 4
mov dword [0xa2aca4], eax
mov eax, dword [0xa2aca8]
mov edx, dword [0xa2acb0]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa2acb0]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa2acb0]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa2aca8], eax
mov eax, dword [0xa2acac]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa2acac], eax
test dl, dl
jne 0x4ab955
jmp 0x4abd41
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x4aba65
call fcn.0044fdd3
and eax, 0x200
mov dword [0xa2ac18], eax
mov eax, dword [0xa2ac18]
test eax, eax
je 0x4ab9f9
mov dword [0xa2ac18], 1
mov dword [0xa2aba0], 0
jmp 0x4aba56
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa2aba0]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa2ac18]
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa2aba0]
add ebx, 4
shl ebx, 2
add eax, ebx
mov ebx, dword [eax]
mov eax, edx
shl eax, 3
add eax, edx
add eax, ebx
mov eax, dword [eax*4 + 0xa1cb80]
mov dword [ecx], eax
mov eax, dword [0xa2aba0]
add eax, 1
mov dword [0xa2aba0], eax
mov eax, dword [0xa2aba0]
cmp eax, 3
setle al
test al, al
jne 0x4aba05
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa2aba0], eax
mov eax, dword [0x6a4614]
movzx eax, byte [eax + 0x19]
movzx eax, al
mov edx, 1
mov ebx, edx
mov ecx, eax
shl ebx, cl
mov eax, ebx
mov dword [0xa2ac18], eax
mov edx, dword [0xa2aba0]
mov eax, dword [0x53286c]
cmp edx, eax
je 0x4abadd
mov eax, dword [0xa2a134]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa2aba0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa2a134], eax
mov eax, dword [0xa2aba0]
mov dword [0x53286c], eax
jmp 0x4abb5b
mov eax, dword [0x693a3c]
test eax, eax
jne 0x4abb54
mov eax, dword [0x532854]
test eax, eax
je 0x4abf46
mov eax, dword [0xa2aba0]
mov ecx, eax
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa2a134]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4abb57
mov eax, dword [0xa2ac18]
shl eax, 2
mov edx, eax
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa2a140
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4abb5a
mov eax, dword [0x6ae3c0]
test eax, eax
jne 0x4abf49
jmp 0x4abb5b
nop
jmp 0x4abb5b
nop
jmp 0x4abb5b
nop
mov edx, dword [0x6a4634]
mov eax, dword [0x6a4638]
imul eax, edx
shl eax, 2
mov dword [0xa2acb4], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa2acb4]
cmp edx, eax
jge 0x4abbd8
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa2ab94]
mov eax, dword [0xa2acb4]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x693ad0
mov dword [edx], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0xa2acb4]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 0xc], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0x6a4634]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 4], eax
mov edx, dword [0xa2ab94]
mov eax, dword [0x6a4638]
shl edx, 5
add edx, 0x693ad0
mov dword [edx + 8], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax]
mov dword [0x6a4618], eax
mov eax, dword [0xa2aba0]
mov ecx, eax
mov eax, dword [0x6a4614]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa2a134]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa2ac18]
shl eax, 2
mov edx, eax
mov eax, dword [0x6a4614]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa2a140
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa2ab90]
test al, al
je 0x4abc74
call fcn.004a9fd2
mov eax, dword [0xa2a134]
mov dword [0xa2acb8], eax
mov eax, dword [0x6a4618]
mov dword [0xa2acbc], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa2ac30], eax
mov eax, dword [0x6a4614]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa2ac2c], eax
mov dword [0xa2abbc], 0
jmp 0x4abd1b
mov dword [0xa2abb8], 0
jmp 0x4abcfa
mov edx, dword [0xa2acbc]
mov eax, dword [0xa2acb8]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa2a140]
mov dword [edx], ecx
add edx, 4
mov dword [0xa2acbc], edx
add eax, 1
mov dword [0xa2acb8], eax
mov eax, dword [0xa2abb8]
add eax, 1
mov dword [0xa2abb8], eax
mov edx, dword [0xa2abb8]
mov eax, dword [0xa2ac30]
cmp edx, eax
setl al
test al, al
jne 0x4abcc2
mov eax, dword [0xa2abbc]
add eax, 1
mov dword [0xa2abbc], eax
mov edx, dword [0xa2abbc]
mov eax, dword [0xa2ac2c]
cmp edx, eax
setl al
test al, al
jne 0x4abcb6
movzx eax, byte [0xa2ab90]
test al, al
je 0x4abd44
call fcn.004a9fd2
jmp 0x4abd44
nop
jmp 0x4abd45
nop
mov dword [0x693a3c], 0
mov dword [0x6ae3c0], 1
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ac0
mov dword [eax], 3
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ac0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x693b28], eax
mov dword [0x693b2c], edx
mov eax, dword [0x68eb4c]
test eax, eax
je 0x4abf4a
mov eax, dword [0x693ba0]
test eax, eax
je 0x4abf4a
mov eax, dword [0xa2acc0]
test eax, eax
jne 0x4abdf3
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x80000000
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x40000000
mov dword [esp], str.output_image.raw
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileA]
call eax
sub esp, 0x1c
mov dword [0xa2acc0], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax + 4]
mov dword [0xa2acc4], eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov eax, dword [eax + 8]
mov dword [0xa2acc8], eax
mov eax, dword [0xa2accc]
add eax, 1
mov dword [0xa2accc], eax
mov eax, dword [0xa2accc]
mov dword [0xa2acd0], eax
mov eax, dword [0xa2acc4]
mov dword [0xa2acd4], eax
mov eax, dword [0xa2acc8]
mov dword [0xa2acd8], eax
mov eax, dword [0xa2acc0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call eax
sub esp, 0x10
mov edx, dword [0xa2acc4]
mov eax, dword [0xa2acc8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ad0
mov edx, dword [eax]
mov eax, dword [0xa2acc0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
mov eax, dword [0xa2acc0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa2acc0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call eax
sub esp, 0x10
mov eax, dword [0xa2acc0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa2acd0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
jmp 0x4abf4a
nop
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ac0
mov eax, dword [eax]
cmp eax, 2
jne 0x4abf8f
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ac0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x693b28], eax
mov dword [0x693b2c], edx
mov eax, dword [0xa2ab94]
shl eax, 5
add eax, 0x693ac0
mov dword [eax], 1
mov eax, dword [0x6ae3d4]
cmp eax, 1
jne 0x4abfb4
mov dword [0x6ae3d4], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5322d8]
cmp eax, 0xffffffff
jne 0x4abfc8
mov dword [0x5322d8], 0
mov dword [0xa2a0e0], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret