Function at 0x4918e6
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa12610], 0
mov eax, dword [0x676b4c]
test eax, eax
je 0x491906
mov byte [0xa12610], 1
mov eax, dword [0x695e54]
cmp eax, 1
jne 0x49192b
mov dword [0x695e54], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x676b4c]
test eax, eax
jne 0x49194c
mov eax, dword [0x67b6a4]
test eax, eax
je 0x49194c
mov dword [0xa11b60], 1
jmp 0x49386b
mov eax, dword [0x695e54]
test eax, eax
jne 0x493827
mov dword [0xa12614], 0xffffffff
mov eax, dword [0x51a0a0]
mov edx, dword [0x51a0a4]
mov dword [0xa12618], eax
mov dword [0xa1261c], edx
mov dword [0xa12620], 0
jmp 0x4919f8
mov eax, dword [0xa12620]
shl eax, 5
add eax, 0x67b540
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa12618]
mov edx, dword [0xa1261c]
cmp ebx, edx
jg 0x4919eb
cmp ebx, edx
jl 0x4919af
cmp ecx, eax
jae 0x4919eb
mov eax, dword [0xa12620]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 3
jne 0x4919eb
mov eax, dword [0xa12620]
shl eax, 5
add eax, 0x67b540
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa12618], eax
mov dword [0xa1261c], edx
mov eax, dword [0xa12620]
mov dword [0xa12614], eax
mov eax, dword [0xa12620]
add eax, 1
mov dword [0xa12620], eax
mov eax, dword [0xa12620]
cmp eax, 2
setle al
test al, al
jne 0x491985
mov dword [0xa12620], 0
jmp 0x491a42
mov eax, dword [0xa12620]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 1
jne 0x491a35
mov eax, dword [0xa12620]
mov dword [0xa12614], eax
mov eax, dword [0xa12620]
add eax, 1
mov dword [0xa12620], eax
mov eax, dword [0xa12620]
cmp eax, 2
setle al
test al, al
jne 0x491a17
mov eax, dword [0xa12614]
cmp eax, 0xffffffff
jne 0x491a6c
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.004380ef
jmp 0x49386b
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b540
mov dword [eax], 2
mov ecx, dword [0xa12614]
mov eax, dword [0x51a0a0]
mov edx, dword [0x51a0a4]
shl ecx, 5
add ecx, 0x67b540
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add eax, 1
adc edx, 0
mov dword [0x51a0a0], eax
mov dword [0x51a0a4], edx
mov eax, dword [0x676b4c]
test eax, eax
je 0x491b01
mov dword [esp + 8], 1
fld qword [0x549a28]
fstp qword [esp]
call fcn.00459876
fstp qword [0xa12628]
fld qword [0xa12630]
fld qword [0xa12628]
fsubp st(1)
fabs
fld qword [0x549bb0]
fucompi st(1)
fstp st(0)
ja 0x4937c6
fld qword [0xa12628]
fstp qword [0xa12630]
mov eax, dword [0x68c094]
test eax, eax
je 0x4937c9
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa12638], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1263c], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x491b90
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x67b6b4]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa12638], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x67b6b0]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa1263c], eax
mov eax, dword [0xa12638]
cmp eax, 0x200
jg 0x491bc0
mov eax, dword [0xa1263c]
cmp eax, 0x180
jg 0x491bc0
mov eax, dword [0xa12638]
add eax, eax
mov dword [0xa12638], eax
mov eax, dword [0xa1263c]
add eax, eax
mov dword [0xa1263c], eax
mov dword [0xa12640], 0xffffffff
mov dword [0xa12644], 0xffffffff
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa12638], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1263c], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x491c56
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x67b6b4]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa12638], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x67b6b0]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa1263c], eax
mov eax, dword [0xa12638]
mov dword [0x68c0b4], eax
mov eax, dword [0xa1263c]
mov dword [0x68c0b8], eax
mov dword [0xa12648], 0
mov dword [0x68c0bc], 0
mov eax, dword [0x68c098]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x492e02
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
mov dword [0xa1264c], eax
mov eax, dword [0x67b6b4]
mov edx, dword [0xa1264c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa12650], eax
mov eax, dword [0x67b6b0]
mov edx, dword [0xa1264c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa12654], eax
mov eax, dword [0x695e40]
mov dword [0xa12658], eax
mov dword [0xa1265c], 0
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa12620], eax
mov eax, dword [0xa12620]
mov edx, eax
mov eax, dword [0x51a560]
cmp edx, eax
je 0x491d4c
mov eax, dword [0x695e44]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa12620]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x695e44], eax
mov eax, dword [0xa12620]
mov dword [0x51a560], eax
mov dword [0xa12658], 0
mov eax, dword [0x51a854]
test eax, eax
jne 0x491d63
mov eax, dword [0xa12658]
cmp eax, 1
je 0x4937cc
mov eax, dword [0xa12658]
test eax, eax
jne 0x491d8e
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa11bc0
call sub.msvcrt.dll_memcpy
jmp 0x491ddc
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa11bc0
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x491ddc
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa11bc0
call sub.msvcrt.dll_memcpy
mov dword [0xa12658], 0
mov eax, dword [0xa12658]
test eax, eax
je 0x491e16
mov ecx, dword [0x51a560]
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0x695e44]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x491e16
mov dword [0xa1265c], 1
mov eax, dword [0x695d2c]
and eax, 8
test eax, eax
je 0x491e2e
mov dword [0xa12660], 1
jmp 0x491e38
mov dword [0xa12660], 0
mov eax, dword [0x695d2c]
and eax, 8
test eax, eax
je 0x491e50
mov dword [0xa12664], 1
jmp 0x491e5a
mov dword [0xa12664], 0
mov eax, dword [0x676b4c]
test eax, eax
je 0x491f26
mov dword [esp + 8], 1
fld qword [0x549a28]
fstp qword [esp]
call fcn.00459876
fld qword [0x5499b0]
fdivp st(1)
fstp qword [0xa12668]
fld qword [0xa12668]
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 [0xa12670], eax
mov dword [0xa12674], edx
mov eax, dword [0xa12670]
mov edx, dword [0xa12674]
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 0x491ee9
mov dword [0xa12660], 1
jmp 0x491ef3
mov dword [0xa12660], 0
mov eax, dword [0xa12670]
mov edx, dword [0xa12674]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x491f1c
mov dword [0xa12664], 1
jmp 0x491f26
mov dword [0xa12664], 0
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa12678], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa1267c], eax
mov eax, dword [0x68c094]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x491f86
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa1267c]
cmp edx, eax
jle 0x491f86
mov eax, dword [0xa1267c]
add eax, 1
mov dword [0xa1267c], eax
mov dword [0xa12678], 0
mov eax, dword [0xa12658]
test eax, eax
je 0x491fe9
mov edx, dword [0xa12664]
mov eax, dword [0xa12680]
cmp edx, eax
je 0x491fa8
mov dword [0xa1265c], 1
mov edx, dword [0xa12660]
mov eax, dword [0xa12684]
cmp edx, eax
je 0x491fc1
mov dword [0xa1265c], 1
mov edx, dword [0xa12678]
mov eax, dword [0x51a874]
cmp edx, eax
jne 0x491fdf
mov edx, dword [0xa1267c]
mov eax, dword [0x51a878]
cmp edx, eax
je 0x491fe9
mov dword [0xa1265c], 1
mov eax, dword [0xa12658]
test eax, eax
jne 0x491ffc
mov dword [0xa1265c], 1
mov eax, dword [0xa1265c]
test eax, eax
je 0x4937cf
mov edx, dword [0x68c0b4]
mov eax, dword [0x68c0b8]
imul eax, edx
shl eax, 2
mov dword [0xa12688], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 0xc]
mov eax, dword [0xa12688]
cmp edx, eax
jge 0x492086
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa12614]
mov eax, dword [0xa12688]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67b550
mov dword [edx], eax
mov edx, dword [0xa12614]
mov eax, dword [0xa12688]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 0xc], eax
mov edx, dword [0xa12614]
mov eax, dword [0x68c0b4]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 4], eax
mov edx, dword [0xa12614]
mov eax, dword [0x68c0b8]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 8], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [0x68c098], eax
mov eax, dword [0xa12658]
test eax, eax
je 0x492214
mov dword [0xa12690], 0
mov dword [0xa12694], 0
mov dword [0xa12698], 0xffffffff
mov dword [0xa1269c], 0
jmp 0x492189
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 4
je 0x49212a
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 3
jne 0x49217c
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa12690]
mov edx, dword [0xa12694]
cmp ebx, edx
jl 0x49217c
cmp ebx, edx
jg 0x492154
cmp ecx, eax
jbe 0x49217c
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa12690], eax
mov dword [0xa12694], edx
mov eax, dword [0xa1269c]
mov dword [0xa12698], eax
mov eax, dword [0xa1269c]
add eax, 1
mov dword [0xa1269c], eax
mov eax, dword [0xa1269c]
cmp eax, 2
setle al
test al, al
jne 0x492102
mov eax, dword [0xa12698]
cmp eax, 0xffffffff
je 0x4921fe
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 4]
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa12698]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax]
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x492214
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.004380ef
mov dword [0xa12658], 0
mov dword [0xa126a0], 0
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x40]
mov dword [0xa126a4], eax
mov eax, dword [0x695e44]
mov dword [0xa126a8], eax
movzx eax, byte [0xa12610]
test al, al
je 0x492245
call fcn.0049186a
mov dword [0xa126ac], 0
mov dword [0xa1263c], 0
jmp 0x492d88
mov dword [0xa126b0], 0
mov dword [0xa12638], 0
jmp 0x492d3c
mov eax, dword [0xa126a4]
movzx eax, byte [eax]
mov byte [0xa126b4], al
mov eax, dword [0xa126a4]
add eax, 1
mov dword [0xa126a4], eax
mov eax, dword [0xa126a4]
movzx eax, byte [eax]
mov byte [0xa126b5], al
mov eax, dword [0xa126a4]
add eax, 1
mov dword [0xa126a4], eax
mov eax, dword [0xa126a8]
movzx eax, byte [eax]
mov byte [0xa126b6], al
mov eax, dword [0xa126a8]
add eax, 1
mov dword [0xa126a8], eax
mov eax, dword [0xa126a8]
movzx eax, byte [eax]
mov byte [0xa126b7], al
mov eax, dword [0xa126a8]
add eax, 1
mov dword [0xa126a8], eax
mov eax, dword [0xa12658]
test eax, eax
je 0x4923ad
movzx edx, byte [0xa126b4]
movzx eax, byte [0xa126b6]
cmp dl, al
jne 0x4923ad
movzx edx, byte [0xa126b5]
movzx eax, byte [0xa126b7]
cmp dl, al
jne 0x4923ad
movzx eax, byte [0xa126b5]
test al, al
jns 0x492332
mov edx, dword [0xa12664]
mov eax, dword [0xa12680]
cmp edx, eax
jne 0x4923a9
mov edx, dword [0xa12638]
mov eax, dword [0xa12678]
cmp edx, eax
jne 0x49235f
mov edx, dword [0xa1263c]
mov eax, dword [0xa1267c]
cmp edx, eax
jne 0x49235f
mov edx, dword [0xa12660]
mov eax, dword [0xa12684]
cmp edx, eax
jne 0x4923ac
mov edx, dword [0xa12638]
mov eax, dword [0x51a874]
cmp edx, eax
jne 0x492d0a
mov edx, dword [0xa1263c]
mov eax, dword [0x51a878]
cmp edx, eax
jne 0x492d0a
mov edx, dword [0xa12678]
mov eax, dword [0x51a874]
cmp edx, eax
jne 0x4923ad
mov edx, dword [0xa1267c]
mov eax, dword [0x51a878]
cmp edx, eax
je 0x492d0a
jmp 0x4923ad
nop
jmp 0x4923ad
nop
mov eax, dword [0xa126a8]
sub eax, 2
mov dword [0xa126a8], eax
mov eax, dword [0xa126a8]
movzx edx, byte [0xa126b4]
mov byte [eax], dl
mov eax, dword [0xa126a8]
add eax, 1
mov dword [0xa126a8], eax
mov eax, dword [0xa126a8]
movzx edx, byte [0xa126b5]
mov byte [eax], dl
mov eax, dword [0xa126a8]
add eax, 1
mov dword [0xa126a8], eax
mov dword [0xa126b8], 0
mov eax, dword [0xa1264c]
cmp eax, 0x1f
jle 0x4924c6
movzx eax, byte [0xa126b4]
movzx eax, al
movzx eax, word [eax + eax + 0x51a0c0]
movzx eax, ax
mov dword [0xa126bc], eax
mov dword [0xa126c0], 1
mov eax, dword [0xa126c4]
test eax, eax
je 0x492442
mov eax, dword [0xa126c4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa126c0]
mov eax, dword [0x67b6ac]
mov ecx, dword [0xa1264c]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa126d8
mov dword [esp + 0x1c], 0xa126d4
mov dword [esp + 0x18], 0xa126d0
mov dword [esp + 0x14], 0xa126cc
mov dword [esp + 0x10], 0xa126c8
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa126bc
mov dword [esp], eax
call fcn.0043763d
mov dword [0xa126dc], eax
mov eax, dword [0xa126c8]
mov dword [0xa126c4], eax
mov eax, dword [0xa126c8]
mov dword [0xa126e0], eax
mov dword [0xa126e4], 0
jmp 0x4925ba
mov dword [0xa126e4], 0
mov eax, dword [0xa1264c]
cmp eax, 8
jne 0x4924f1
movzx eax, byte [0xa126b4]
movzx eax, al
shl eax, 6
add eax, 0xa04660
mov dword [0xa126e0], eax
mov eax, dword [0xa1264c]
cmp eax, 0xe
jne 0x492515
movzx eax, byte [0xa126b4]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa08660
mov dword [0xa126e0], eax
mov eax, dword [0xa1264c]
cmp eax, 0x10
jne 0x492536
movzx eax, byte [0xa126b4]
movzx eax, al
shl eax, 7
add eax, 0xa08660
mov dword [0xa126e0], eax
mov eax, dword [0xa1264c]
cmp eax, 9
jne 0x492561
movzx eax, byte [0xa126b4]
movzx eax, al
shl eax, 6
add eax, 0xa04660
mov dword [0xa126e0], eax
mov dword [0xa126b8], 1
mov eax, dword [0xa1264c]
cmp eax, 0xf
jne 0x49258f
movzx eax, byte [0xa126b4]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa08660
mov dword [0xa126e0], eax
mov dword [0xa126b8], 1
mov eax, dword [0xa1264c]
cmp eax, 0x11
jne 0x4925ba
movzx eax, byte [0xa126b4]
movzx eax, al
shl eax, 7
add eax, 0xa08660
mov dword [0xa126e0], eax
mov dword [0xa126b8], 1
movzx eax, byte [0xa126b5]
and eax, 0xf
mov byte [0xa126e8], al
mov eax, dword [0x51a650]
test eax, eax
je 0x4925fb
movzx eax, byte [0xa126b5]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa126e9], al
movzx eax, byte [0xa126b5]
movzx eax, al
sar eax, 7
mov byte [0xa126ea], al
jmp 0x49260d
movzx eax, byte [0xa126b5]
movzx eax, al
sar eax, 4
mov byte [0xa126e9], al
movzx eax, byte [0xa126ea]
test al, al
je 0x492636
mov eax, dword [0xa12664]
test eax, eax
je 0x492636
mov eax, dword [0x51a650]
test eax, eax
je 0x492636
movzx eax, byte [0xa126e9]
mov byte [0xa126e8], al
movzx eax, byte [0xa126e8]
movzx eax, al
mov eax, dword [eax*4 + 0xa11bc0]
mov dword [0xa12698], eax
movzx eax, byte [0xa126e9]
movzx eax, al
mov eax, dword [eax*4 + 0xa11bc0]
mov dword [0xa1269c], eax
mov eax, dword [0x68c098]
mov ecx, dword [0xa126ac]
mov edx, dword [0x68c0b4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa126a0]
add ecx, edx
mov edx, dword [0xa126b0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa126ec], eax
mov edx, dword [0x68c0b4]
mov ecx, dword [0x67b6b4]
mov eax, dword [0x68c094]
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 [0xa12648], eax
mov dword [0xa126f0], 0
jmp 0x492797
mov dword [0xa126f4], 0
jmp 0x49274b
mov eax, dword [0xa126e0]
movzx eax, byte [eax]
test al, al
je 0x4926ee
mov eax, dword [0xa126ec]
mov edx, dword [0xa12698]
mov dword [eax], edx
jmp 0x4926fb
mov eax, dword [0xa126ec]
mov edx, dword [0xa1269c]
mov dword [eax], edx
mov eax, dword [0xa126b8]
test eax, eax
je 0x492724
mov edx, dword [0xa126f4]
mov eax, dword [0xa126b8]
and eax, edx
test eax, eax
je 0x492731
mov eax, dword [0xa126e0]
add eax, 1
mov dword [0xa126e0], eax
jmp 0x492731
mov eax, dword [0xa126e0]
add eax, 1
mov dword [0xa126e0], eax
mov eax, dword [0xa126ec]
add eax, 4
mov dword [0xa126ec], eax
mov eax, dword [0xa126f4]
add eax, 1
mov dword [0xa126f4], eax
mov edx, dword [0xa126f4]
mov eax, dword [0xa12650]
cmp edx, eax
setl al
test al, al
jne 0x4926d3
mov eax, dword [0xa126ec]
mov edx, dword [0xa12648]
shl edx, 2
add eax, edx
mov dword [0xa126ec], eax
mov edx, dword [0xa126e0]
mov eax, dword [0xa126e4]
add eax, edx
mov dword [0xa126e0], eax
mov eax, dword [0xa126f0]
add eax, 1
mov dword [0xa126f0], eax
mov edx, dword [0xa126f0]
mov eax, dword [0xa12654]
cmp edx, eax
setl al
test al, al
jne 0x4926c7
mov eax, dword [0x68c094]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x492d0e
mov eax, dword [0xa12660]
test eax, eax
je 0x492d0e
mov edx, dword [0xa12678]
mov eax, dword [0xa12638]
cmp edx, eax
jne 0x492d0e
mov edx, dword [0xa1267c]
mov eax, dword [0xa1263c]
cmp edx, eax
jne 0x492d0e
mov eax, dword [0x68c094]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa126f8], eax
mov eax, dword [0x68c094]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa126fc], eax
mov byte [0xa12700], 0
mov byte [0xa12701], 0
mov byte [0xa12702], 0
mov byte [0xa12703], 0
mov eax, dword [0xa126fc]
test eax, eax
jne 0x492853
mov eax, dword [0xa126f8]
test eax, eax
jne 0x492d0d
mov byte [0xa12702], 1
jmp 0x4929b1
mov edx, dword [0xa126fc]
mov eax, dword [0xa126f8]
cmp edx, eax
jge 0x492878
mov eax, dword [0xa126fc]
mov byte [0xa12703], al
mov byte [0xa12702], 0xff
jmp 0x4929b1
mov edx, dword [0xa126f8]
mov eax, dword [0xa126fc]
cmp edx, eax
jne 0x4928ba
mov eax, dword [0xa126f8]
cmp eax, 3
jg 0x4928a7
mov eax, dword [0xa126f8]
mov byte [0xa12703], al
mov byte [0xa12702], 1
jmp 0x4929b1
mov byte [0xa12700], 1
mov byte [0xa12702], 1
jmp 0x4929b1
mov eax, dword [0xa126f8]
cmp eax, 2
jle 0x492922
mov edx, dword [0xa126fc]
mov eax, dword [0xa126f8]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x4928ed
mov byte [0xa12700], 1
mov byte [0xa12702], 2
jmp 0x4929b1
mov edx, dword [0xa126fc]
mov eax, dword [0xa126f8]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x492916
mov byte [0xa12700], 1
mov byte [0xa12702], 3
jmp 0x4929b1
mov byte [0xa12701], 1
jmp 0x4929b1
mov eax, dword [0xa126f8]
cmp eax, 1
jg 0x49296f
mov eax, dword [0xa126fc]
cmp eax, 3
jg 0x49295c
mov eax, dword [0xa126f8]
mov byte [0xa12703], al
mov eax, dword [0xa126fc]
mov edx, eax
mov eax, dword [0xa126f8]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa12702], al
jmp 0x4929b1
mov eax, dword [0xa126f8]
mov byte [0xa12703], al
mov byte [0xa12702], 0xff
jmp 0x4929b1
mov eax, dword [0xa126fc]
cmp eax, 3
jne 0x492989
mov byte [0xa12703], 2
mov byte [0xa12702], 2
jmp 0x4929b1
mov eax, dword [0xa126fc]
cmp eax, 4
jne 0x4929a3
mov byte [0xa12700], 1
mov byte [0xa12702], 3
jmp 0x4929b1
mov byte [0xa12703], 2
mov byte [0xa12702], 0xff
mov edx, dword [0x67b6b4]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa12704], eax
mov edx, dword [0x67b6b0]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa12708], eax
movzx eax, byte [0xa12701]
test al, al
je 0x492ae8
mov eax, dword [0xa12708]
sub eax, 1
mov dword [0xa126f0], eax
mov eax, dword [0xa12708]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa12702], al
movzx eax, byte [0xa126b5]
and eax, 0xf
mov byte [0xa126e8], al
movzx eax, byte [0xa126e8]
movzx eax, al
mov eax, dword [eax*4 + 0xa11bc0]
mov dword [0xa12698], eax
mov eax, dword [0x68c098]
mov ecx, dword [0xa126ac]
mov edx, dword [0xa126f0]
add ecx, edx
mov edx, dword [0x68c0b4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa126a0]
add ecx, edx
mov edx, dword [0xa126b0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa126ec], eax
mov dword [0xa126f4], 0
jmp 0x492aa4
mov eax, dword [0xa126ec]
mov edx, dword [0xa12698]
mov dword [eax], edx
mov eax, dword [0xa126ec]
add eax, 4
mov dword [0xa126ec], eax
mov eax, dword [0xa126f4]
add eax, 1
mov dword [0xa126f4], eax
mov edx, dword [0xa126f4]
mov eax, dword [0xa12704]
cmp edx, eax
setl al
test al, al
jne 0x492a7d
mov eax, dword [0xa126f0]
sub eax, 1
mov dword [0xa126f0], eax
movzx eax, byte [0xa12702]
sub eax, 1
mov byte [0xa12702], al
movzx eax, byte [0xa12702]
test al, al
je 0x492d0e
jmp 0x492a39
movzx eax, byte [0xa12700]
test al, al
je 0x492bec
mov eax, dword [0xa12708]
sub eax, 1
mov dword [0xa126f0], eax
mov eax, dword [0xa126f0]
cmp eax, 0xf
jne 0x492b18
mov dword [0xa126f0], 0xe
movzx eax, byte [0xa126b5]
and eax, 0xf
mov byte [0xa126e8], al
movzx eax, byte [0xa126e8]
movzx eax, al
mov eax, dword [eax*4 + 0xa11bc0]
mov dword [0xa12698], eax
mov eax, dword [0x68c098]
mov ecx, dword [0xa126ac]
mov edx, dword [0xa126f0]
add ecx, edx
mov edx, dword [0x68c0b4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa126a0]
add ecx, edx
mov edx, dword [0xa126b0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa126ec], eax
mov dword [0xa126f4], 0
jmp 0x492ba8
mov eax, dword [0xa126ec]
mov edx, dword [0xa12698]
mov dword [eax], edx
mov eax, dword [0xa126ec]
add eax, 4
mov dword [0xa126ec], eax
mov eax, dword [0xa126f4]
add eax, 1
mov dword [0xa126f4], eax
mov edx, dword [0xa126f4]
mov eax, dword [0xa12704]
cmp edx, eax
setl al
test al, al
jne 0x492b81
mov eax, dword [0xa126f0]
sub eax, 1
mov dword [0xa126f0], eax
movzx eax, byte [0xa12702]
sub eax, 1
mov byte [0xa12702], al
movzx eax, byte [0xa12702]
test al, al
je 0x492d0e
jmp 0x492b3d
movzx eax, byte [0xa12703]
movzx edx, al
mov eax, dword [0xa12708]
cmp edx, eax
jge 0x492d0e
movzx eax, byte [0xa12703]
movzx eax, al
mov dword [0xa126f0], eax
movzx eax, byte [0xa126b5]
and eax, 0xf
mov byte [0xa126e8], al
movzx eax, byte [0xa126e8]
movzx eax, al
mov eax, dword [eax*4 + 0xa11bc0]
mov dword [0xa12698], eax
movzx eax, byte [0xa12702]
cmp al, 0xff
jne 0x492c5e
mov eax, dword [0xa12708]
mov edx, eax
movzx eax, byte [0xa12703]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa12702], al
jmp 0x492c5e
nop
mov eax, dword [0x68c098]
mov ecx, dword [0xa126ac]
mov edx, dword [0xa126f0]
add ecx, edx
mov edx, dword [0x68c0b4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa126a0]
add ecx, edx
mov edx, dword [0xa126b0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa126ec], eax
mov dword [0xa126f4], 0
jmp 0x492cc9
mov eax, dword [0xa126ec]
mov edx, dword [0xa12698]
mov dword [eax], edx
mov eax, dword [0xa126ec]
add eax, 4
mov dword [0xa126ec], eax
mov eax, dword [0xa126f4]
add eax, 1
mov dword [0xa126f4], eax
mov edx, dword [0xa126f4]
mov eax, dword [0xa12704]
cmp edx, eax
setl al
test al, al
jne 0x492ca2
mov eax, dword [0xa126f0]
add eax, 1
mov dword [0xa126f0], eax
movzx eax, byte [0xa12702]
sub eax, 1
mov byte [0xa12702], al
movzx eax, byte [0xa12702]
test al, al
jne 0x492c5d
jmp 0x492d0e
nop
jmp 0x492d0e
nop
mov edx, dword [0x67b6b4]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa126b0]
add eax, edx
mov dword [0xa126b0], eax
mov eax, dword [0xa12638]
add eax, 1
mov dword [0xa12638], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa12638]
cmp edx, eax
setg al
test al, al
jne 0x492277
mov edx, dword [0x67b6b0]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa126ac]
add eax, edx
mov dword [0xa126ac], eax
mov eax, dword [0xa1263c]
add eax, 1
mov dword [0xa1263c], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa1263c]
cmp edx, eax
setg al
test al, al
jne 0x49225e
mov eax, dword [0xa12664]
mov dword [0xa12680], eax
mov eax, dword [0xa12660]
mov dword [0xa12684], eax
mov eax, dword [0xa12678]
mov dword [0x51a874], eax
mov eax, dword [0xa1267c]
mov dword [0x51a878], eax
mov dword [0x695e40], 1
movzx eax, byte [0xa12610]
test al, al
je 0x492de8
call fcn.0049186a
mov eax, dword [0xa12614]
mov edx, eax
sar edx, 0x1f
mov dword [0xa12710], eax
mov dword [0xa12714], edx
jmp 0x4935dd
mov eax, dword [0x68c094]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x49325c
movzx eax, byte [0xa12610]
test al, al
jne 0x492fb3
mov dword [0xa12718], 0
mov dword [0xa1271c], 0
mov dword [0xa12698], 0xffffffff
mov dword [0xa1269c], 0
jmp 0x492ed6
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 4
je 0x492e77
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 3
jne 0x492ec9
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa12718]
mov edx, dword [0xa1271c]
cmp ebx, edx
jl 0x492ec9
cmp ebx, edx
jg 0x492ea1
cmp ecx, eax
jbe 0x492ec9
mov eax, dword [0xa1269c]
shl eax, 5
add eax, 0x67b540
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa12718], eax
mov dword [0xa1271c], edx
mov eax, dword [0xa1269c]
mov dword [0xa12698], eax
mov eax, dword [0xa1269c]
add eax, 1
mov dword [0xa1269c], eax
mov eax, dword [0xa1269c]
cmp eax, 2
setle al
test al, al
jne 0x492e4f
mov eax, dword [0x67b4bc]
test eax, eax
jne 0x493087
mov eax, dword [0xa12698]
cmp eax, 0xffffffff
je 0x49308e
mov eax, dword [0x695e40]
test eax, eax
je 0x49308a
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa12620], eax
mov eax, dword [0xa12698]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 4]
mov eax, dword [0xa12698]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa12620]
cmp edx, eax
jne 0x49308d
mov eax, dword [0x51a854]
test eax, eax
je 0x4937d2
mov eax, dword [0xa12620]
mov ecx, eax
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12698]
shl eax, 5
add eax, 0x67b550
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 0x4937d5
jmp 0x49308e
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa12620], eax
mov edx, dword [0xa12620]
mov eax, dword [0x51a86c]
cmp edx, eax
je 0x493010
mov eax, dword [0xa11bb4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa12620]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa11bb4], eax
mov eax, dword [0xa12620]
mov dword [0x51a86c], eax
jmp 0x493061
mov eax, dword [0x67b4bc]
test eax, eax
jne 0x49305d
mov eax, dword [0x51a854]
test eax, eax
je 0x4937d8
mov eax, dword [0xa12620]
mov ecx, eax
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11bb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x493060
mov eax, dword [0x695e40]
test eax, eax
jne 0x4937db
jmp 0x493061
nop
jmp 0x493061
nop
mov eax, dword [0xa12620]
mov ecx, eax
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11bb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x49308e
nop
jmp 0x49308e
nop
jmp 0x49308e
nop
mov edx, dword [0x68c0b4]
mov eax, dword [0x68c0b8]
imul eax, edx
shl eax, 2
mov dword [0xa12720], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 0xc]
mov eax, dword [0xa12720]
cmp edx, eax
jge 0x49310b
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa12614]
mov eax, dword [0xa12720]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67b550
mov dword [edx], eax
mov edx, dword [0xa12614]
mov eax, dword [0xa12720]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 0xc], eax
mov edx, dword [0xa12614]
mov eax, dword [0x68c0b4]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 4], eax
mov edx, dword [0xa12614]
mov eax, dword [0x68c0b8]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 8], eax
movzx eax, byte [0xa12610]
test al, al
jne 0x493198
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 4]
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4935d9
mov eax, dword [0xa11bb4]
mov dword [0xa12724], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [0xa12728], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 4]
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa1272c], eax
mov eax, dword [0xa1272c]
test eax, eax
jle 0x4935d9
jmp 0x493241
mov eax, dword [0xa12724]
mov edx, dword [eax]
mov dword [0xa12730], edx
add eax, 4
mov dword [0xa12724], eax
mov eax, dword [0xa12728]
mov edx, dword [0xa12730]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa12730]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa12730]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa12728], eax
mov eax, dword [0xa1272c]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa1272c], eax
test dl, dl
jne 0x4931ed
jmp 0x4935d9
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x4932fd
call fcn.0043766b
and eax, 0x200
mov dword [0xa12698], eax
mov eax, dword [0xa12698]
test eax, eax
je 0x493291
mov dword [0xa12698], 1
mov dword [0xa12620], 0
jmp 0x4932ee
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa12620]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa12698]
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa12620]
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 + 0xa04600]
mov dword [ecx], eax
mov eax, dword [0xa12620]
add eax, 1
mov dword [0xa12620], eax
mov eax, dword [0xa12620]
cmp eax, 3
setle al
test al, al
jne 0x49329d
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa12620], eax
mov eax, dword [0x68c094]
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 [0xa12698], eax
mov edx, dword [0xa12620]
mov eax, dword [0x51a86c]
cmp edx, eax
je 0x493375
mov eax, dword [0xa11bb4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa12620]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa11bb4], eax
mov eax, dword [0xa12620]
mov dword [0x51a86c], eax
jmp 0x4933f3
mov eax, dword [0x67b4bc]
test eax, eax
jne 0x4933ec
mov eax, dword [0x51a854]
test eax, eax
je 0x4937de
mov eax, dword [0xa12620]
mov ecx, eax
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11bb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4933ef
mov eax, dword [0xa12698]
shl eax, 2
mov edx, eax
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa11bc0
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4933f2
mov eax, dword [0x695e40]
test eax, eax
jne 0x4937e1
jmp 0x4933f3
nop
jmp 0x4933f3
nop
jmp 0x4933f3
nop
mov edx, dword [0x68c0b4]
mov eax, dword [0x68c0b8]
imul eax, edx
shl eax, 2
mov dword [0xa12734], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax + 0xc]
mov eax, dword [0xa12734]
cmp edx, eax
jge 0x493470
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa12614]
mov eax, dword [0xa12734]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67b550
mov dword [edx], eax
mov edx, dword [0xa12614]
mov eax, dword [0xa12734]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 0xc], eax
mov edx, dword [0xa12614]
mov eax, dword [0x68c0b4]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 4], eax
mov edx, dword [0xa12614]
mov eax, dword [0x68c0b8]
shl edx, 5
add edx, 0x67b550
mov dword [edx + 8], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax]
mov dword [0x68c098], eax
mov eax, dword [0xa12620]
mov ecx, eax
mov eax, dword [0x68c094]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11bb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa12698]
shl eax, 2
mov edx, eax
mov eax, dword [0x68c094]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa11bc0
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa12610]
test al, al
je 0x49350c
call fcn.0049186a
mov eax, dword [0xa11bb4]
mov dword [0xa12738], eax
mov eax, dword [0x68c098]
mov dword [0xa1273c], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa126b0], eax
mov eax, dword [0x68c094]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa126ac], eax
mov dword [0xa1263c], 0
jmp 0x4935b3
mov dword [0xa12638], 0
jmp 0x493592
mov edx, dword [0xa1273c]
mov eax, dword [0xa12738]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa11bc0]
mov dword [edx], ecx
add edx, 4
mov dword [0xa1273c], edx
add eax, 1
mov dword [0xa12738], eax
mov eax, dword [0xa12638]
add eax, 1
mov dword [0xa12638], eax
mov edx, dword [0xa12638]
mov eax, dword [0xa126b0]
cmp edx, eax
setl al
test al, al
jne 0x49355a
mov eax, dword [0xa1263c]
add eax, 1
mov dword [0xa1263c], eax
mov edx, dword [0xa1263c]
mov eax, dword [0xa126ac]
cmp edx, eax
setl al
test al, al
jne 0x49354e
movzx eax, byte [0xa12610]
test al, al
je 0x4935dc
call fcn.0049186a
jmp 0x4935dc
nop
jmp 0x4935dd
nop
mov dword [0x67b4bc], 0
mov dword [0x695e40], 1
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b540
mov dword [eax], 3
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b540
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x67b5a8], eax
mov dword [0x67b5ac], edx
mov eax, dword [0x676b4c]
test eax, eax
je 0x4937e2
mov eax, dword [0x67b620]
test eax, eax
je 0x4937e2
mov eax, dword [0xa12740]
test eax, eax
jne 0x49368b
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 [0xa12740], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax + 4]
mov dword [0xa12744], eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov eax, dword [eax + 8]
mov dword [0xa12748], eax
mov eax, dword [0xa1274c]
add eax, 1
mov dword [0xa1274c], eax
mov eax, dword [0xa1274c]
mov dword [0xa12750], eax
mov eax, dword [0xa12744]
mov dword [0xa12754], eax
mov eax, dword [0xa12748]
mov dword [0xa12758], eax
mov eax, dword [0xa12740]
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 [0xa12744]
mov eax, dword [0xa12748]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b550
mov edx, dword [eax]
mov eax, dword [0xa12740]
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 [0xa12740]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa12740]
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 [0xa12740]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa12750
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
jmp 0x4937e2
nop
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b540
mov eax, dword [eax]
cmp eax, 2
jne 0x493827
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b540
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x67b5a8], eax
mov dword [0x67b5ac], edx
mov eax, dword [0xa12614]
shl eax, 5
add eax, 0x67b540
mov dword [eax], 1
mov eax, dword [0x695e54]
cmp eax, 1
jne 0x49384c
mov dword [0x695e54], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x51a2d8]
cmp eax, 0xffffffff
jne 0x493860
mov dword [0x51a2d8], 0
mov dword [0xa11b60], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret