Function at 0x498e16
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa19670], 0
mov eax, dword [0x67db4c]
test eax, eax
je 0x498e36
mov byte [0xa19670], 1
mov eax, dword [0x69ceb4]
cmp eax, 1
jne 0x498e5b
mov dword [0x69ceb4], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x67db4c]
test eax, eax
jne 0x498e7c
mov eax, dword [0x682704]
test eax, eax
je 0x498e7c
mov dword [0xa18bc0], 1
jmp 0x49ad9b
mov eax, dword [0x69ceb4]
test eax, eax
jne 0x49ad57
mov dword [0xa19674], 0xffffffff
mov eax, dword [0x5210a0]
mov edx, dword [0x5210a4]
mov dword [0xa19678], eax
mov dword [0xa1967c], edx
mov dword [0xa19680], 0
jmp 0x498f28
mov eax, dword [0xa19680]
shl eax, 5
add eax, 0x6825a0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa19678]
mov edx, dword [0xa1967c]
cmp ebx, edx
jg 0x498f1b
cmp ebx, edx
jl 0x498edf
cmp ecx, eax
jae 0x498f1b
mov eax, dword [0xa19680]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 3
jne 0x498f1b
mov eax, dword [0xa19680]
shl eax, 5
add eax, 0x6825a0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa19678], eax
mov dword [0xa1967c], edx
mov eax, dword [0xa19680]
mov dword [0xa19674], eax
mov eax, dword [0xa19680]
add eax, 1
mov dword [0xa19680], eax
mov eax, dword [0xa19680]
cmp eax, 2
setle al
test al, al
jne 0x498eb5
mov dword [0xa19680], 0
jmp 0x498f72
mov eax, dword [0xa19680]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 1
jne 0x498f65
mov eax, dword [0xa19680]
mov dword [0xa19674], eax
mov eax, dword [0xa19680]
add eax, 1
mov dword [0xa19680], eax
mov eax, dword [0xa19680]
cmp eax, 2
setle al
test al, al
jne 0x498f47
mov eax, dword [0xa19674]
cmp eax, 0xffffffff
jne 0x498f9c
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.0043f61f
jmp 0x49ad9b
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825a0
mov dword [eax], 2
mov ecx, dword [0xa19674]
mov eax, dword [0x5210a0]
mov edx, dword [0x5210a4]
shl ecx, 5
add ecx, 0x6825a0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add eax, 1
adc edx, 0
mov dword [0x5210a0], eax
mov dword [0x5210a4], edx
mov eax, dword [0x67db4c]
test eax, eax
je 0x499031
mov dword [esp + 8], 1
fld qword [0x550ac8]
fstp qword [esp]
call fcn.00460da6
fstp qword [0xa19688]
fld qword [0xa19690]
fld qword [0xa19688]
fsubp st(1)
fabs
fld qword [0x550c50]
fucompi st(1)
fstp st(0)
ja 0x49acf6
fld qword [0xa19688]
fstp qword [0xa19690]
mov eax, dword [0x6930f4]
test eax, eax
je 0x49acf9
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa19698], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1969c], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4990c0
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x682714]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa19698], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x682710]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa1969c], eax
mov eax, dword [0xa19698]
cmp eax, 0x200
jg 0x4990f0
mov eax, dword [0xa1969c]
cmp eax, 0x180
jg 0x4990f0
mov eax, dword [0xa19698]
add eax, eax
mov dword [0xa19698], eax
mov eax, dword [0xa1969c]
add eax, eax
mov dword [0xa1969c], eax
mov dword [0xa196a0], 0xffffffff
mov dword [0xa196a4], 0xffffffff
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa19698], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1969c], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x499186
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x682714]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa19698], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x682710]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa1969c], eax
mov eax, dword [0xa19698]
mov dword [0x693114], eax
mov eax, dword [0xa1969c]
mov dword [0x693118], eax
mov dword [0xa196a8], 0
mov dword [0x69311c], 0
mov eax, dword [0x6930f8]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x49a332
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
mov dword [0xa196ac], eax
mov eax, dword [0x682714]
mov edx, dword [0xa196ac]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa196b0], eax
mov eax, dword [0x682710]
mov edx, dword [0xa196ac]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa196b4], eax
mov eax, dword [0x69cea0]
mov dword [0xa196b8], eax
mov dword [0xa196bc], 0
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa19680], eax
mov eax, dword [0xa19680]
mov edx, eax
mov eax, dword [0x521560]
cmp edx, eax
je 0x49927c
mov eax, dword [0x69cea4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa19680]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x69cea4], eax
mov eax, dword [0xa19680]
mov dword [0x521560], eax
mov dword [0xa196b8], 0
mov eax, dword [0x521854]
test eax, eax
jne 0x499293
mov eax, dword [0xa196b8]
cmp eax, 1
je 0x49acfc
mov eax, dword [0xa196b8]
test eax, eax
jne 0x4992be
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa18c20
call sub.msvcrt.dll_memcpy
jmp 0x49930c
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa18c20
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x49930c
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa18c20
call sub.msvcrt.dll_memcpy
mov dword [0xa196b8], 0
mov eax, dword [0xa196b8]
test eax, eax
je 0x499346
mov ecx, dword [0x521560]
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0x69cea4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x499346
mov dword [0xa196bc], 1
mov eax, dword [0x69cd8c]
and eax, 8
test eax, eax
je 0x49935e
mov dword [0xa196c0], 1
jmp 0x499368
mov dword [0xa196c0], 0
mov eax, dword [0x69cd8c]
and eax, 8
test eax, eax
je 0x499380
mov dword [0xa196c4], 1
jmp 0x49938a
mov dword [0xa196c4], 0
mov eax, dword [0x67db4c]
test eax, eax
je 0x499456
mov dword [esp + 8], 1
fld qword [0x550ac8]
fstp qword [esp]
call fcn.00460da6
fld qword [0x550a50]
fdivp st(1)
fstp qword [0xa196c8]
fld qword [0xa196c8]
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 [0xa196d0], eax
mov dword [0xa196d4], edx
mov eax, dword [0xa196d0]
mov edx, dword [0xa196d4]
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 0x499419
mov dword [0xa196c0], 1
jmp 0x499423
mov dword [0xa196c0], 0
mov eax, dword [0xa196d0]
mov edx, dword [0xa196d4]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x49944c
mov dword [0xa196c4], 1
jmp 0x499456
mov dword [0xa196c4], 0
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa196d8], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa196dc], eax
mov eax, dword [0x6930f4]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x4994b6
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa196dc]
cmp edx, eax
jle 0x4994b6
mov eax, dword [0xa196dc]
add eax, 1
mov dword [0xa196dc], eax
mov dword [0xa196d8], 0
mov eax, dword [0xa196b8]
test eax, eax
je 0x499519
mov edx, dword [0xa196c4]
mov eax, dword [0xa196e0]
cmp edx, eax
je 0x4994d8
mov dword [0xa196bc], 1
mov edx, dword [0xa196c0]
mov eax, dword [0xa196e4]
cmp edx, eax
je 0x4994f1
mov dword [0xa196bc], 1
mov edx, dword [0xa196d8]
mov eax, dword [0x521874]
cmp edx, eax
jne 0x49950f
mov edx, dword [0xa196dc]
mov eax, dword [0x521878]
cmp edx, eax
je 0x499519
mov dword [0xa196bc], 1
mov eax, dword [0xa196b8]
test eax, eax
jne 0x49952c
mov dword [0xa196bc], 1
mov eax, dword [0xa196bc]
test eax, eax
je 0x49acff
mov edx, dword [0x693114]
mov eax, dword [0x693118]
imul eax, edx
shl eax, 2
mov dword [0xa196e8], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa196e8]
cmp edx, eax
jge 0x4995b6
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa19674]
mov eax, dword [0xa196e8]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x6825b0
mov dword [edx], eax
mov edx, dword [0xa19674]
mov eax, dword [0xa196e8]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 0xc], eax
mov edx, dword [0xa19674]
mov eax, dword [0x693114]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 4], eax
mov edx, dword [0xa19674]
mov eax, dword [0x693118]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 8], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [0x6930f8], eax
mov eax, dword [0xa196b8]
test eax, eax
je 0x499744
mov dword [0xa196f0], 0
mov dword [0xa196f4], 0
mov dword [0xa196f8], 0xffffffff
mov dword [0xa196fc], 0
jmp 0x4996b9
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 4
je 0x49965a
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 3
jne 0x4996ac
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa196f0]
mov edx, dword [0xa196f4]
cmp ebx, edx
jl 0x4996ac
cmp ebx, edx
jg 0x499684
cmp ecx, eax
jbe 0x4996ac
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa196f0], eax
mov dword [0xa196f4], edx
mov eax, dword [0xa196fc]
mov dword [0xa196f8], eax
mov eax, dword [0xa196fc]
add eax, 1
mov dword [0xa196fc], eax
mov eax, dword [0xa196fc]
cmp eax, 2
setle al
test al, al
jne 0x499632
mov eax, dword [0xa196f8]
cmp eax, 0xffffffff
je 0x49972e
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 4]
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa196f8]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax]
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x499744
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.0043f61f
mov dword [0xa196b8], 0
mov dword [0xa19700], 0
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x40]
mov dword [0xa19704], eax
mov eax, dword [0x69cea4]
mov dword [0xa19708], eax
movzx eax, byte [0xa19670]
test al, al
je 0x499775
call fcn.00498d9a
mov dword [0xa1970c], 0
mov dword [0xa1969c], 0
jmp 0x49a2b8
mov dword [0xa19710], 0
mov dword [0xa19698], 0
jmp 0x49a26c
mov eax, dword [0xa19704]
movzx eax, byte [eax]
mov byte [0xa19714], al
mov eax, dword [0xa19704]
add eax, 1
mov dword [0xa19704], eax
mov eax, dword [0xa19704]
movzx eax, byte [eax]
mov byte [0xa19715], al
mov eax, dword [0xa19704]
add eax, 1
mov dword [0xa19704], eax
mov eax, dword [0xa19708]
movzx eax, byte [eax]
mov byte [0xa19716], al
mov eax, dword [0xa19708]
add eax, 1
mov dword [0xa19708], eax
mov eax, dword [0xa19708]
movzx eax, byte [eax]
mov byte [0xa19717], al
mov eax, dword [0xa19708]
add eax, 1
mov dword [0xa19708], eax
mov eax, dword [0xa196b8]
test eax, eax
je 0x4998dd
movzx edx, byte [0xa19714]
movzx eax, byte [0xa19716]
cmp dl, al
jne 0x4998dd
movzx edx, byte [0xa19715]
movzx eax, byte [0xa19717]
cmp dl, al
jne 0x4998dd
movzx eax, byte [0xa19715]
test al, al
jns 0x499862
mov edx, dword [0xa196c4]
mov eax, dword [0xa196e0]
cmp edx, eax
jne 0x4998d9
mov edx, dword [0xa19698]
mov eax, dword [0xa196d8]
cmp edx, eax
jne 0x49988f
mov edx, dword [0xa1969c]
mov eax, dword [0xa196dc]
cmp edx, eax
jne 0x49988f
mov edx, dword [0xa196c0]
mov eax, dword [0xa196e4]
cmp edx, eax
jne 0x4998dc
mov edx, dword [0xa19698]
mov eax, dword [0x521874]
cmp edx, eax
jne 0x49a23a
mov edx, dword [0xa1969c]
mov eax, dword [0x521878]
cmp edx, eax
jne 0x49a23a
mov edx, dword [0xa196d8]
mov eax, dword [0x521874]
cmp edx, eax
jne 0x4998dd
mov edx, dword [0xa196dc]
mov eax, dword [0x521878]
cmp edx, eax
je 0x49a23a
jmp 0x4998dd
nop
jmp 0x4998dd
nop
mov eax, dword [0xa19708]
sub eax, 2
mov dword [0xa19708], eax
mov eax, dword [0xa19708]
movzx edx, byte [0xa19714]
mov byte [eax], dl
mov eax, dword [0xa19708]
add eax, 1
mov dword [0xa19708], eax
mov eax, dword [0xa19708]
movzx edx, byte [0xa19715]
mov byte [eax], dl
mov eax, dword [0xa19708]
add eax, 1
mov dword [0xa19708], eax
mov dword [0xa19718], 0
mov eax, dword [0xa196ac]
cmp eax, 0x1f
jle 0x4999f6
movzx eax, byte [0xa19714]
movzx eax, al
movzx eax, word [eax + eax + 0x5210c0]
movzx eax, ax
mov dword [0xa1971c], eax
mov dword [0xa19720], 1
mov eax, dword [0xa19724]
test eax, eax
je 0x499972
mov eax, dword [0xa19724]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa19720]
mov eax, dword [0x68270c]
mov ecx, dword [0xa196ac]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa19738
mov dword [esp + 0x1c], 0xa19734
mov dword [esp + 0x18], 0xa19730
mov dword [esp + 0x14], 0xa1972c
mov dword [esp + 0x10], 0xa19728
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa1971c
mov dword [esp], eax
call fcn.0043eb6d
mov dword [0xa1973c], eax
mov eax, dword [0xa19728]
mov dword [0xa19724], eax
mov eax, dword [0xa19728]
mov dword [0xa19740], eax
mov dword [0xa19744], 0
jmp 0x499aea
mov dword [0xa19744], 0
mov eax, dword [0xa196ac]
cmp eax, 8
jne 0x499a21
movzx eax, byte [0xa19714]
movzx eax, al
shl eax, 6
add eax, 0xa0b6c0
mov dword [0xa19740], eax
mov eax, dword [0xa196ac]
cmp eax, 0xe
jne 0x499a45
movzx eax, byte [0xa19714]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa0f6c0
mov dword [0xa19740], eax
mov eax, dword [0xa196ac]
cmp eax, 0x10
jne 0x499a66
movzx eax, byte [0xa19714]
movzx eax, al
shl eax, 7
add eax, 0xa0f6c0
mov dword [0xa19740], eax
mov eax, dword [0xa196ac]
cmp eax, 9
jne 0x499a91
movzx eax, byte [0xa19714]
movzx eax, al
shl eax, 6
add eax, 0xa0b6c0
mov dword [0xa19740], eax
mov dword [0xa19718], 1
mov eax, dword [0xa196ac]
cmp eax, 0xf
jne 0x499abf
movzx eax, byte [0xa19714]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa0f6c0
mov dword [0xa19740], eax
mov dword [0xa19718], 1
mov eax, dword [0xa196ac]
cmp eax, 0x11
jne 0x499aea
movzx eax, byte [0xa19714]
movzx eax, al
shl eax, 7
add eax, 0xa0f6c0
mov dword [0xa19740], eax
mov dword [0xa19718], 1
movzx eax, byte [0xa19715]
and eax, 0xf
mov byte [0xa19748], al
mov eax, dword [0x521650]
test eax, eax
je 0x499b2b
movzx eax, byte [0xa19715]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa19749], al
movzx eax, byte [0xa19715]
movzx eax, al
sar eax, 7
mov byte [0xa1974a], al
jmp 0x499b3d
movzx eax, byte [0xa19715]
movzx eax, al
sar eax, 4
mov byte [0xa19749], al
movzx eax, byte [0xa1974a]
test al, al
je 0x499b66
mov eax, dword [0xa196c4]
test eax, eax
je 0x499b66
mov eax, dword [0x521650]
test eax, eax
je 0x499b66
movzx eax, byte [0xa19749]
mov byte [0xa19748], al
movzx eax, byte [0xa19748]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c20]
mov dword [0xa196f8], eax
movzx eax, byte [0xa19749]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c20]
mov dword [0xa196fc], eax
mov eax, dword [0x6930f8]
mov ecx, dword [0xa1970c]
mov edx, dword [0x693114]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa19700]
add ecx, edx
mov edx, dword [0xa19710]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1974c], eax
mov edx, dword [0x693114]
mov ecx, dword [0x682714]
mov eax, dword [0x6930f4]
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 [0xa196a8], eax
mov dword [0xa19750], 0
jmp 0x499cc7
mov dword [0xa19754], 0
jmp 0x499c7b
mov eax, dword [0xa19740]
movzx eax, byte [eax]
test al, al
je 0x499c1e
mov eax, dword [0xa1974c]
mov edx, dword [0xa196f8]
mov dword [eax], edx
jmp 0x499c2b
mov eax, dword [0xa1974c]
mov edx, dword [0xa196fc]
mov dword [eax], edx
mov eax, dword [0xa19718]
test eax, eax
je 0x499c54
mov edx, dword [0xa19754]
mov eax, dword [0xa19718]
and eax, edx
test eax, eax
je 0x499c61
mov eax, dword [0xa19740]
add eax, 1
mov dword [0xa19740], eax
jmp 0x499c61
mov eax, dword [0xa19740]
add eax, 1
mov dword [0xa19740], eax
mov eax, dword [0xa1974c]
add eax, 4
mov dword [0xa1974c], eax
mov eax, dword [0xa19754]
add eax, 1
mov dword [0xa19754], eax
mov edx, dword [0xa19754]
mov eax, dword [0xa196b0]
cmp edx, eax
setl al
test al, al
jne 0x499c03
mov eax, dword [0xa1974c]
mov edx, dword [0xa196a8]
shl edx, 2
add eax, edx
mov dword [0xa1974c], eax
mov edx, dword [0xa19740]
mov eax, dword [0xa19744]
add eax, edx
mov dword [0xa19740], eax
mov eax, dword [0xa19750]
add eax, 1
mov dword [0xa19750], eax
mov edx, dword [0xa19750]
mov eax, dword [0xa196b4]
cmp edx, eax
setl al
test al, al
jne 0x499bf7
mov eax, dword [0x6930f4]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x49a23e
mov eax, dword [0xa196c0]
test eax, eax
je 0x49a23e
mov edx, dword [0xa196d8]
mov eax, dword [0xa19698]
cmp edx, eax
jne 0x49a23e
mov edx, dword [0xa196dc]
mov eax, dword [0xa1969c]
cmp edx, eax
jne 0x49a23e
mov eax, dword [0x6930f4]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa19758], eax
mov eax, dword [0x6930f4]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa1975c], eax
mov byte [0xa19760], 0
mov byte [0xa19761], 0
mov byte [0xa19762], 0
mov byte [0xa19763], 0
mov eax, dword [0xa1975c]
test eax, eax
jne 0x499d83
mov eax, dword [0xa19758]
test eax, eax
jne 0x49a23d
mov byte [0xa19762], 1
jmp 0x499ee1
mov edx, dword [0xa1975c]
mov eax, dword [0xa19758]
cmp edx, eax
jge 0x499da8
mov eax, dword [0xa1975c]
mov byte [0xa19763], al
mov byte [0xa19762], 0xff
jmp 0x499ee1
mov edx, dword [0xa19758]
mov eax, dword [0xa1975c]
cmp edx, eax
jne 0x499dea
mov eax, dword [0xa19758]
cmp eax, 3
jg 0x499dd7
mov eax, dword [0xa19758]
mov byte [0xa19763], al
mov byte [0xa19762], 1
jmp 0x499ee1
mov byte [0xa19760], 1
mov byte [0xa19762], 1
jmp 0x499ee1
mov eax, dword [0xa19758]
cmp eax, 2
jle 0x499e52
mov edx, dword [0xa1975c]
mov eax, dword [0xa19758]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x499e1d
mov byte [0xa19760], 1
mov byte [0xa19762], 2
jmp 0x499ee1
mov edx, dword [0xa1975c]
mov eax, dword [0xa19758]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x499e46
mov byte [0xa19760], 1
mov byte [0xa19762], 3
jmp 0x499ee1
mov byte [0xa19761], 1
jmp 0x499ee1
mov eax, dword [0xa19758]
cmp eax, 1
jg 0x499e9f
mov eax, dword [0xa1975c]
cmp eax, 3
jg 0x499e8c
mov eax, dword [0xa19758]
mov byte [0xa19763], al
mov eax, dword [0xa1975c]
mov edx, eax
mov eax, dword [0xa19758]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa19762], al
jmp 0x499ee1
mov eax, dword [0xa19758]
mov byte [0xa19763], al
mov byte [0xa19762], 0xff
jmp 0x499ee1
mov eax, dword [0xa1975c]
cmp eax, 3
jne 0x499eb9
mov byte [0xa19763], 2
mov byte [0xa19762], 2
jmp 0x499ee1
mov eax, dword [0xa1975c]
cmp eax, 4
jne 0x499ed3
mov byte [0xa19760], 1
mov byte [0xa19762], 3
jmp 0x499ee1
mov byte [0xa19763], 2
mov byte [0xa19762], 0xff
mov edx, dword [0x682714]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa19764], eax
mov edx, dword [0x682710]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa19768], eax
movzx eax, byte [0xa19761]
test al, al
je 0x49a018
mov eax, dword [0xa19768]
sub eax, 1
mov dword [0xa19750], eax
mov eax, dword [0xa19768]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa19762], al
movzx eax, byte [0xa19715]
and eax, 0xf
mov byte [0xa19748], al
movzx eax, byte [0xa19748]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c20]
mov dword [0xa196f8], eax
mov eax, dword [0x6930f8]
mov ecx, dword [0xa1970c]
mov edx, dword [0xa19750]
add ecx, edx
mov edx, dword [0x693114]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa19700]
add ecx, edx
mov edx, dword [0xa19710]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1974c], eax
mov dword [0xa19754], 0
jmp 0x499fd4
mov eax, dword [0xa1974c]
mov edx, dword [0xa196f8]
mov dword [eax], edx
mov eax, dword [0xa1974c]
add eax, 4
mov dword [0xa1974c], eax
mov eax, dword [0xa19754]
add eax, 1
mov dword [0xa19754], eax
mov edx, dword [0xa19754]
mov eax, dword [0xa19764]
cmp edx, eax
setl al
test al, al
jne 0x499fad
mov eax, dword [0xa19750]
sub eax, 1
mov dword [0xa19750], eax
movzx eax, byte [0xa19762]
sub eax, 1
mov byte [0xa19762], al
movzx eax, byte [0xa19762]
test al, al
je 0x49a23e
jmp 0x499f69
movzx eax, byte [0xa19760]
test al, al
je 0x49a11c
mov eax, dword [0xa19768]
sub eax, 1
mov dword [0xa19750], eax
mov eax, dword [0xa19750]
cmp eax, 0xf
jne 0x49a048
mov dword [0xa19750], 0xe
movzx eax, byte [0xa19715]
and eax, 0xf
mov byte [0xa19748], al
movzx eax, byte [0xa19748]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c20]
mov dword [0xa196f8], eax
mov eax, dword [0x6930f8]
mov ecx, dword [0xa1970c]
mov edx, dword [0xa19750]
add ecx, edx
mov edx, dword [0x693114]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa19700]
add ecx, edx
mov edx, dword [0xa19710]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1974c], eax
mov dword [0xa19754], 0
jmp 0x49a0d8
mov eax, dword [0xa1974c]
mov edx, dword [0xa196f8]
mov dword [eax], edx
mov eax, dword [0xa1974c]
add eax, 4
mov dword [0xa1974c], eax
mov eax, dword [0xa19754]
add eax, 1
mov dword [0xa19754], eax
mov edx, dword [0xa19754]
mov eax, dword [0xa19764]
cmp edx, eax
setl al
test al, al
jne 0x49a0b1
mov eax, dword [0xa19750]
sub eax, 1
mov dword [0xa19750], eax
movzx eax, byte [0xa19762]
sub eax, 1
mov byte [0xa19762], al
movzx eax, byte [0xa19762]
test al, al
je 0x49a23e
jmp 0x49a06d
movzx eax, byte [0xa19763]
movzx edx, al
mov eax, dword [0xa19768]
cmp edx, eax
jge 0x49a23e
movzx eax, byte [0xa19763]
movzx eax, al
mov dword [0xa19750], eax
movzx eax, byte [0xa19715]
and eax, 0xf
mov byte [0xa19748], al
movzx eax, byte [0xa19748]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c20]
mov dword [0xa196f8], eax
movzx eax, byte [0xa19762]
cmp al, 0xff
jne 0x49a18e
mov eax, dword [0xa19768]
mov edx, eax
movzx eax, byte [0xa19763]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa19762], al
jmp 0x49a18e
nop
mov eax, dword [0x6930f8]
mov ecx, dword [0xa1970c]
mov edx, dword [0xa19750]
add ecx, edx
mov edx, dword [0x693114]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa19700]
add ecx, edx
mov edx, dword [0xa19710]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1974c], eax
mov dword [0xa19754], 0
jmp 0x49a1f9
mov eax, dword [0xa1974c]
mov edx, dword [0xa196f8]
mov dword [eax], edx
mov eax, dword [0xa1974c]
add eax, 4
mov dword [0xa1974c], eax
mov eax, dword [0xa19754]
add eax, 1
mov dword [0xa19754], eax
mov edx, dword [0xa19754]
mov eax, dword [0xa19764]
cmp edx, eax
setl al
test al, al
jne 0x49a1d2
mov eax, dword [0xa19750]
add eax, 1
mov dword [0xa19750], eax
movzx eax, byte [0xa19762]
sub eax, 1
mov byte [0xa19762], al
movzx eax, byte [0xa19762]
test al, al
jne 0x49a18d
jmp 0x49a23e
nop
jmp 0x49a23e
nop
mov edx, dword [0x682714]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa19710]
add eax, edx
mov dword [0xa19710], eax
mov eax, dword [0xa19698]
add eax, 1
mov dword [0xa19698], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa19698]
cmp edx, eax
setg al
test al, al
jne 0x4997a7
mov edx, dword [0x682710]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa1970c]
add eax, edx
mov dword [0xa1970c], eax
mov eax, dword [0xa1969c]
add eax, 1
mov dword [0xa1969c], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa1969c]
cmp edx, eax
setg al
test al, al
jne 0x49978e
mov eax, dword [0xa196c4]
mov dword [0xa196e0], eax
mov eax, dword [0xa196c0]
mov dword [0xa196e4], eax
mov eax, dword [0xa196d8]
mov dword [0x521874], eax
mov eax, dword [0xa196dc]
mov dword [0x521878], eax
mov dword [0x69cea0], 1
movzx eax, byte [0xa19670]
test al, al
je 0x49a318
call fcn.00498d9a
mov eax, dword [0xa19674]
mov edx, eax
sar edx, 0x1f
mov dword [0xa19770], eax
mov dword [0xa19774], edx
jmp 0x49ab0d
mov eax, dword [0x6930f4]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x49a78c
movzx eax, byte [0xa19670]
test al, al
jne 0x49a4e3
mov dword [0xa19778], 0
mov dword [0xa1977c], 0
mov dword [0xa196f8], 0xffffffff
mov dword [0xa196fc], 0
jmp 0x49a406
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 4
je 0x49a3a7
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 3
jne 0x49a3f9
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa19778]
mov edx, dword [0xa1977c]
cmp ebx, edx
jl 0x49a3f9
cmp ebx, edx
jg 0x49a3d1
cmp ecx, eax
jbe 0x49a3f9
mov eax, dword [0xa196fc]
shl eax, 5
add eax, 0x6825a0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa19778], eax
mov dword [0xa1977c], edx
mov eax, dword [0xa196fc]
mov dword [0xa196f8], eax
mov eax, dword [0xa196fc]
add eax, 1
mov dword [0xa196fc], eax
mov eax, dword [0xa196fc]
cmp eax, 2
setle al
test al, al
jne 0x49a37f
mov eax, dword [0x68251c]
test eax, eax
jne 0x49a5b7
mov eax, dword [0xa196f8]
cmp eax, 0xffffffff
je 0x49a5be
mov eax, dword [0x69cea0]
test eax, eax
je 0x49a5ba
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa19680], eax
mov eax, dword [0xa196f8]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 4]
mov eax, dword [0xa196f8]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa19680]
cmp edx, eax
jne 0x49a5bd
mov eax, dword [0x521854]
test eax, eax
je 0x49ad02
mov eax, dword [0xa19680]
mov ecx, eax
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa196f8]
shl eax, 5
add eax, 0x6825b0
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 0x49ad05
jmp 0x49a5be
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa19680], eax
mov edx, dword [0xa19680]
mov eax, dword [0x52186c]
cmp edx, eax
je 0x49a540
mov eax, dword [0xa18c14]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa19680]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa18c14], eax
mov eax, dword [0xa19680]
mov dword [0x52186c], eax
jmp 0x49a591
mov eax, dword [0x68251c]
test eax, eax
jne 0x49a58d
mov eax, dword [0x521854]
test eax, eax
je 0x49ad08
mov eax, dword [0xa19680]
mov ecx, eax
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18c14]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x49a590
mov eax, dword [0x69cea0]
test eax, eax
jne 0x49ad0b
jmp 0x49a591
nop
jmp 0x49a591
nop
mov eax, dword [0xa19680]
mov ecx, eax
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18c14]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x49a5be
nop
jmp 0x49a5be
nop
jmp 0x49a5be
nop
mov edx, dword [0x693114]
mov eax, dword [0x693118]
imul eax, edx
shl eax, 2
mov dword [0xa19780], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa19780]
cmp edx, eax
jge 0x49a63b
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa19674]
mov eax, dword [0xa19780]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x6825b0
mov dword [edx], eax
mov edx, dword [0xa19674]
mov eax, dword [0xa19780]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 0xc], eax
mov edx, dword [0xa19674]
mov eax, dword [0x693114]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 4], eax
mov edx, dword [0xa19674]
mov eax, dword [0x693118]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 8], eax
movzx eax, byte [0xa19670]
test al, al
jne 0x49a6c8
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 4]
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x49ab09
mov eax, dword [0xa18c14]
mov dword [0xa19784], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [0xa19788], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 4]
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa1978c], eax
mov eax, dword [0xa1978c]
test eax, eax
jle 0x49ab09
jmp 0x49a771
mov eax, dword [0xa19784]
mov edx, dword [eax]
mov dword [0xa19790], edx
add eax, 4
mov dword [0xa19784], eax
mov eax, dword [0xa19788]
mov edx, dword [0xa19790]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa19790]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa19790]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa19788], eax
mov eax, dword [0xa1978c]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa1978c], eax
test dl, dl
jne 0x49a71d
jmp 0x49ab09
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x49a82d
call fcn.0043eb9b
and eax, 0x200
mov dword [0xa196f8], eax
mov eax, dword [0xa196f8]
test eax, eax
je 0x49a7c1
mov dword [0xa196f8], 1
mov dword [0xa19680], 0
jmp 0x49a81e
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa19680]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa196f8]
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa19680]
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 + 0xa0b660]
mov dword [ecx], eax
mov eax, dword [0xa19680]
add eax, 1
mov dword [0xa19680], eax
mov eax, dword [0xa19680]
cmp eax, 3
setle al
test al, al
jne 0x49a7cd
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa19680], eax
mov eax, dword [0x6930f4]
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 [0xa196f8], eax
mov edx, dword [0xa19680]
mov eax, dword [0x52186c]
cmp edx, eax
je 0x49a8a5
mov eax, dword [0xa18c14]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa19680]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa18c14], eax
mov eax, dword [0xa19680]
mov dword [0x52186c], eax
jmp 0x49a923
mov eax, dword [0x68251c]
test eax, eax
jne 0x49a91c
mov eax, dword [0x521854]
test eax, eax
je 0x49ad0e
mov eax, dword [0xa19680]
mov ecx, eax
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18c14]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x49a91f
mov eax, dword [0xa196f8]
shl eax, 2
mov edx, eax
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa18c20
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x49a922
mov eax, dword [0x69cea0]
test eax, eax
jne 0x49ad11
jmp 0x49a923
nop
jmp 0x49a923
nop
jmp 0x49a923
nop
mov edx, dword [0x693114]
mov eax, dword [0x693118]
imul eax, edx
shl eax, 2
mov dword [0xa19794], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa19794]
cmp edx, eax
jge 0x49a9a0
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa19674]
mov eax, dword [0xa19794]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x6825b0
mov dword [edx], eax
mov edx, dword [0xa19674]
mov eax, dword [0xa19794]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 0xc], eax
mov edx, dword [0xa19674]
mov eax, dword [0x693114]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 4], eax
mov edx, dword [0xa19674]
mov eax, dword [0x693118]
shl edx, 5
add edx, 0x6825b0
mov dword [edx + 8], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax]
mov dword [0x6930f8], eax
mov eax, dword [0xa19680]
mov ecx, eax
mov eax, dword [0x6930f4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18c14]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa196f8]
shl eax, 2
mov edx, eax
mov eax, dword [0x6930f4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa18c20
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa19670]
test al, al
je 0x49aa3c
call fcn.00498d9a
mov eax, dword [0xa18c14]
mov dword [0xa19798], eax
mov eax, dword [0x6930f8]
mov dword [0xa1979c], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa19710], eax
mov eax, dword [0x6930f4]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1970c], eax
mov dword [0xa1969c], 0
jmp 0x49aae3
mov dword [0xa19698], 0
jmp 0x49aac2
mov edx, dword [0xa1979c]
mov eax, dword [0xa19798]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa18c20]
mov dword [edx], ecx
add edx, 4
mov dword [0xa1979c], edx
add eax, 1
mov dword [0xa19798], eax
mov eax, dword [0xa19698]
add eax, 1
mov dword [0xa19698], eax
mov edx, dword [0xa19698]
mov eax, dword [0xa19710]
cmp edx, eax
setl al
test al, al
jne 0x49aa8a
mov eax, dword [0xa1969c]
add eax, 1
mov dword [0xa1969c], eax
mov edx, dword [0xa1969c]
mov eax, dword [0xa1970c]
cmp edx, eax
setl al
test al, al
jne 0x49aa7e
movzx eax, byte [0xa19670]
test al, al
je 0x49ab0c
call fcn.00498d9a
jmp 0x49ab0c
nop
jmp 0x49ab0d
nop
mov dword [0x68251c], 0
mov dword [0x69cea0], 1
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825a0
mov dword [eax], 3
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825a0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x682608], eax
mov dword [0x68260c], edx
mov eax, dword [0x67db4c]
test eax, eax
je 0x49ad12
mov eax, dword [0x682680]
test eax, eax
je 0x49ad12
mov eax, dword [0xa197a0]
test eax, eax
jne 0x49abbb
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 [0xa197a0], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax + 4]
mov dword [0xa197a4], eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov eax, dword [eax + 8]
mov dword [0xa197a8], eax
mov eax, dword [0xa197ac]
add eax, 1
mov dword [0xa197ac], eax
mov eax, dword [0xa197ac]
mov dword [0xa197b0], eax
mov eax, dword [0xa197a4]
mov dword [0xa197b4], eax
mov eax, dword [0xa197a8]
mov dword [0xa197b8], eax
mov eax, dword [0xa197a0]
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 [0xa197a4]
mov eax, dword [0xa197a8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825b0
mov edx, dword [eax]
mov eax, dword [0xa197a0]
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 [0xa197a0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa197a0]
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 [0xa197a0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa197b0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
jmp 0x49ad12
nop
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825a0
mov eax, dword [eax]
cmp eax, 2
jne 0x49ad57
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825a0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x682608], eax
mov dword [0x68260c], edx
mov eax, dword [0xa19674]
shl eax, 5
add eax, 0x6825a0
mov dword [eax], 1
mov eax, dword [0x69ceb4]
cmp eax, 1
jne 0x49ad7c
mov dword [0x69ceb4], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5212d8]
cmp eax, 0xffffffff
jne 0x49ad90
mov dword [0x5212d8], 0
mov dword [0xa18bc0], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret