Function at 0x49215e
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa125b0], 0
mov eax, dword [0x676b4c]
test eax, eax
je 0x49217e
mov byte [0xa125b0], 1
mov eax, dword [0x695df4]
cmp eax, 1
jne 0x4921a3
mov dword [0x695df4], 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 0x4921c4
mov eax, dword [0x67b644]
test eax, eax
je 0x4921c4
mov dword [0xa11b00], 1
jmp 0x4940e3
mov eax, dword [0x695df4]
test eax, eax
jne 0x49409f
mov dword [0xa125b4], 0xffffffff
mov eax, dword [0x51a0a0]
mov edx, dword [0x51a0a4]
mov dword [0xa125b8], eax
mov dword [0xa125bc], edx
mov dword [0xa125c0], 0
jmp 0x492270
mov eax, dword [0xa125c0]
shl eax, 5
add eax, 0x67b4e0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa125b8]
mov edx, dword [0xa125bc]
cmp ebx, edx
jg 0x492263
cmp ebx, edx
jl 0x492227
cmp ecx, eax
jae 0x492263
mov eax, dword [0xa125c0]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 3
jne 0x492263
mov eax, dword [0xa125c0]
shl eax, 5
add eax, 0x67b4e0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa125b8], eax
mov dword [0xa125bc], edx
mov eax, dword [0xa125c0]
mov dword [0xa125b4], eax
mov eax, dword [0xa125c0]
add eax, 1
mov dword [0xa125c0], eax
mov eax, dword [0xa125c0]
cmp eax, 2
setle al
test al, al
jne 0x4921fd
mov dword [0xa125c0], 0
jmp 0x4922ba
mov eax, dword [0xa125c0]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 1
jne 0x4922ad
mov eax, dword [0xa125c0]
mov dword [0xa125b4], eax
mov eax, dword [0xa125c0]
add eax, 1
mov dword [0xa125c0], eax
mov eax, dword [0xa125c0]
cmp eax, 2
setle al
test al, al
jne 0x49228f
mov eax, dword [0xa125b4]
cmp eax, 0xffffffff
jne 0x4922e4
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.00438967
jmp 0x4940e3
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4e0
mov dword [eax], 2
mov ecx, dword [0xa125b4]
mov eax, dword [0x51a0a0]
mov edx, dword [0x51a0a4]
shl ecx, 5
add ecx, 0x67b4e0
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 0x492379
mov dword [esp + 8], 1
fld qword [0x549da8]
fstp qword [esp]
call fcn.0045a0ee
fstp qword [0xa125c8]
fld qword [0xa125d0]
fld qword [0xa125c8]
fsubp st(1)
fabs
fld qword [0x549f30]
fucompi st(1)
fstp st(0)
ja 0x49403e
fld qword [0xa125c8]
fstp qword [0xa125d0]
mov eax, dword [0x68c034]
test eax, eax
je 0x494041
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa125d8], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa125dc], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x492408
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x67b654]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa125d8], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x67b650]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa125dc], eax
mov eax, dword [0xa125d8]
cmp eax, 0x200
jg 0x492438
mov eax, dword [0xa125dc]
cmp eax, 0x180
jg 0x492438
mov eax, dword [0xa125d8]
add eax, eax
mov dword [0xa125d8], eax
mov eax, dword [0xa125dc]
add eax, eax
mov dword [0xa125dc], eax
mov dword [0xa125e0], 0xffffffff
mov dword [0xa125e4], 0xffffffff
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa125d8], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa125dc], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4924ce
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x67b654]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa125d8], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x67b650]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa125dc], eax
mov eax, dword [0xa125d8]
mov dword [0x68c054], eax
mov eax, dword [0xa125dc]
mov dword [0x68c058], eax
mov dword [0xa125e8], 0
mov dword [0x68c05c], 0
mov eax, dword [0x68c038]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x49367a
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
mov dword [0xa125ec], eax
mov eax, dword [0x67b654]
mov edx, dword [0xa125ec]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa125f0], eax
mov eax, dword [0x67b650]
mov edx, dword [0xa125ec]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa125f4], eax
mov eax, dword [0x695de0]
mov dword [0xa125f8], eax
mov dword [0xa125fc], 0
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa125c0], eax
mov eax, dword [0xa125c0]
mov edx, eax
mov eax, dword [0x51a560]
cmp edx, eax
je 0x4925c4
mov eax, dword [0x695de4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa125c0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x695de4], eax
mov eax, dword [0xa125c0]
mov dword [0x51a560], eax
mov dword [0xa125f8], 0
mov eax, dword [0x51a854]
test eax, eax
jne 0x4925db
mov eax, dword [0xa125f8]
cmp eax, 1
je 0x494044
mov eax, dword [0xa125f8]
test eax, eax
jne 0x492606
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa11b60
call sub.msvcrt.dll_memcpy
jmp 0x492654
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa11b60
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x492654
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa11b60
call sub.msvcrt.dll_memcpy
mov dword [0xa125f8], 0
mov eax, dword [0xa125f8]
test eax, eax
je 0x49268e
mov ecx, dword [0x51a560]
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0x695de4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x49268e
mov dword [0xa125fc], 1
mov eax, dword [0x695ccc]
and eax, 8
test eax, eax
je 0x4926a6
mov dword [0xa12600], 1
jmp 0x4926b0
mov dword [0xa12600], 0
mov eax, dword [0x695ccc]
and eax, 8
test eax, eax
je 0x4926c8
mov dword [0xa12604], 1
jmp 0x4926d2
mov dword [0xa12604], 0
mov eax, dword [0x676b4c]
test eax, eax
je 0x49279e
mov dword [esp + 8], 1
fld qword [0x549da8]
fstp qword [esp]
call fcn.0045a0ee
fld qword [0x549d30]
fdivp st(1)
fstp qword [0xa12608]
fld qword [0xa12608]
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 [0xa12610], eax
mov dword [0xa12614], edx
mov eax, dword [0xa12610]
mov edx, dword [0xa12614]
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 0x492761
mov dword [0xa12600], 1
jmp 0x49276b
mov dword [0xa12600], 0
mov eax, dword [0xa12610]
mov edx, dword [0xa12614]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x492794
mov dword [0xa12604], 1
jmp 0x49279e
mov dword [0xa12604], 0
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa12618], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa1261c], eax
mov eax, dword [0x68c034]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x4927fe
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa1261c]
cmp edx, eax
jle 0x4927fe
mov eax, dword [0xa1261c]
add eax, 1
mov dword [0xa1261c], eax
mov dword [0xa12618], 0
mov eax, dword [0xa125f8]
test eax, eax
je 0x492861
mov edx, dword [0xa12604]
mov eax, dword [0xa12620]
cmp edx, eax
je 0x492820
mov dword [0xa125fc], 1
mov edx, dword [0xa12600]
mov eax, dword [0xa12624]
cmp edx, eax
je 0x492839
mov dword [0xa125fc], 1
mov edx, dword [0xa12618]
mov eax, dword [0x51a874]
cmp edx, eax
jne 0x492857
mov edx, dword [0xa1261c]
mov eax, dword [0x51a878]
cmp edx, eax
je 0x492861
mov dword [0xa125fc], 1
mov eax, dword [0xa125f8]
test eax, eax
jne 0x492874
mov dword [0xa125fc], 1
mov eax, dword [0xa125fc]
test eax, eax
je 0x494047
mov edx, dword [0x68c054]
mov eax, dword [0x68c058]
imul eax, edx
shl eax, 2
mov dword [0xa12628], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa12628]
cmp edx, eax
jge 0x4928fe
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa125b4]
mov eax, dword [0xa12628]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67b4f0
mov dword [edx], eax
mov edx, dword [0xa125b4]
mov eax, dword [0xa12628]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 0xc], eax
mov edx, dword [0xa125b4]
mov eax, dword [0x68c054]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 4], eax
mov edx, dword [0xa125b4]
mov eax, dword [0x68c058]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 8], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [0x68c038], eax
mov eax, dword [0xa125f8]
test eax, eax
je 0x492a8c
mov dword [0xa12630], 0
mov dword [0xa12634], 0
mov dword [0xa12638], 0xffffffff
mov dword [0xa1263c], 0
jmp 0x492a01
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 4
je 0x4929a2
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 3
jne 0x4929f4
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa12630]
mov edx, dword [0xa12634]
cmp ebx, edx
jl 0x4929f4
cmp ebx, edx
jg 0x4929cc
cmp ecx, eax
jbe 0x4929f4
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa12630], eax
mov dword [0xa12634], edx
mov eax, dword [0xa1263c]
mov dword [0xa12638], eax
mov eax, dword [0xa1263c]
add eax, 1
mov dword [0xa1263c], eax
mov eax, dword [0xa1263c]
cmp eax, 2
setle al
test al, al
jne 0x49297a
mov eax, dword [0xa12638]
cmp eax, 0xffffffff
je 0x492a76
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 4]
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa12638]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax]
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x492a8c
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.00438967
mov dword [0xa125f8], 0
mov dword [0xa12640], 0
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x40]
mov dword [0xa12644], eax
mov eax, dword [0x695de4]
mov dword [0xa12648], eax
movzx eax, byte [0xa125b0]
test al, al
je 0x492abd
call fcn.004920e2
mov dword [0xa1264c], 0
mov dword [0xa125dc], 0
jmp 0x493600
mov dword [0xa12650], 0
mov dword [0xa125d8], 0
jmp 0x4935b4
mov eax, dword [0xa12644]
movzx eax, byte [eax]
mov byte [0xa12654], al
mov eax, dword [0xa12644]
add eax, 1
mov dword [0xa12644], eax
mov eax, dword [0xa12644]
movzx eax, byte [eax]
mov byte [0xa12655], al
mov eax, dword [0xa12644]
add eax, 1
mov dword [0xa12644], eax
mov eax, dword [0xa12648]
movzx eax, byte [eax]
mov byte [0xa12656], al
mov eax, dword [0xa12648]
add eax, 1
mov dword [0xa12648], eax
mov eax, dword [0xa12648]
movzx eax, byte [eax]
mov byte [0xa12657], al
mov eax, dword [0xa12648]
add eax, 1
mov dword [0xa12648], eax
mov eax, dword [0xa125f8]
test eax, eax
je 0x492c25
movzx edx, byte [0xa12654]
movzx eax, byte [0xa12656]
cmp dl, al
jne 0x492c25
movzx edx, byte [0xa12655]
movzx eax, byte [0xa12657]
cmp dl, al
jne 0x492c25
movzx eax, byte [0xa12655]
test al, al
jns 0x492baa
mov edx, dword [0xa12604]
mov eax, dword [0xa12620]
cmp edx, eax
jne 0x492c21
mov edx, dword [0xa125d8]
mov eax, dword [0xa12618]
cmp edx, eax
jne 0x492bd7
mov edx, dword [0xa125dc]
mov eax, dword [0xa1261c]
cmp edx, eax
jne 0x492bd7
mov edx, dword [0xa12600]
mov eax, dword [0xa12624]
cmp edx, eax
jne 0x492c24
mov edx, dword [0xa125d8]
mov eax, dword [0x51a874]
cmp edx, eax
jne 0x493582
mov edx, dword [0xa125dc]
mov eax, dword [0x51a878]
cmp edx, eax
jne 0x493582
mov edx, dword [0xa12618]
mov eax, dword [0x51a874]
cmp edx, eax
jne 0x492c25
mov edx, dword [0xa1261c]
mov eax, dword [0x51a878]
cmp edx, eax
je 0x493582
jmp 0x492c25
nop
jmp 0x492c25
nop
mov eax, dword [0xa12648]
sub eax, 2
mov dword [0xa12648], eax
mov eax, dword [0xa12648]
movzx edx, byte [0xa12654]
mov byte [eax], dl
mov eax, dword [0xa12648]
add eax, 1
mov dword [0xa12648], eax
mov eax, dword [0xa12648]
movzx edx, byte [0xa12655]
mov byte [eax], dl
mov eax, dword [0xa12648]
add eax, 1
mov dword [0xa12648], eax
mov dword [0xa12658], 0
mov eax, dword [0xa125ec]
cmp eax, 0x1f
jle 0x492d3e
movzx eax, byte [0xa12654]
movzx eax, al
movzx eax, word [eax + eax + 0x51a0c0]
movzx eax, ax
mov dword [0xa1265c], eax
mov dword [0xa12660], 1
mov eax, dword [0xa12664]
test eax, eax
je 0x492cba
mov eax, dword [0xa12664]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa12660]
mov eax, dword [0x67b64c]
mov ecx, dword [0xa125ec]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa12678
mov dword [esp + 0x1c], 0xa12674
mov dword [esp + 0x18], 0xa12670
mov dword [esp + 0x14], 0xa1266c
mov dword [esp + 0x10], 0xa12668
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa1265c
mov dword [esp], eax
call fcn.00437eb5
mov dword [0xa1267c], eax
mov eax, dword [0xa12668]
mov dword [0xa12664], eax
mov eax, dword [0xa12668]
mov dword [0xa12680], eax
mov dword [0xa12684], 0
jmp 0x492e32
mov dword [0xa12684], 0
mov eax, dword [0xa125ec]
cmp eax, 8
jne 0x492d69
movzx eax, byte [0xa12654]
movzx eax, al
shl eax, 6
add eax, 0xa04600
mov dword [0xa12680], eax
mov eax, dword [0xa125ec]
cmp eax, 0xe
jne 0x492d8d
movzx eax, byte [0xa12654]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa08600
mov dword [0xa12680], eax
mov eax, dword [0xa125ec]
cmp eax, 0x10
jne 0x492dae
movzx eax, byte [0xa12654]
movzx eax, al
shl eax, 7
add eax, 0xa08600
mov dword [0xa12680], eax
mov eax, dword [0xa125ec]
cmp eax, 9
jne 0x492dd9
movzx eax, byte [0xa12654]
movzx eax, al
shl eax, 6
add eax, 0xa04600
mov dword [0xa12680], eax
mov dword [0xa12658], 1
mov eax, dword [0xa125ec]
cmp eax, 0xf
jne 0x492e07
movzx eax, byte [0xa12654]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa08600
mov dword [0xa12680], eax
mov dword [0xa12658], 1
mov eax, dword [0xa125ec]
cmp eax, 0x11
jne 0x492e32
movzx eax, byte [0xa12654]
movzx eax, al
shl eax, 7
add eax, 0xa08600
mov dword [0xa12680], eax
mov dword [0xa12658], 1
movzx eax, byte [0xa12655]
and eax, 0xf
mov byte [0xa12688], al
mov eax, dword [0x51a650]
test eax, eax
je 0x492e73
movzx eax, byte [0xa12655]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa12689], al
movzx eax, byte [0xa12655]
movzx eax, al
sar eax, 7
mov byte [0xa1268a], al
jmp 0x492e85
movzx eax, byte [0xa12655]
movzx eax, al
sar eax, 4
mov byte [0xa12689], al
movzx eax, byte [0xa1268a]
test al, al
je 0x492eae
mov eax, dword [0xa12604]
test eax, eax
je 0x492eae
mov eax, dword [0x51a650]
test eax, eax
je 0x492eae
movzx eax, byte [0xa12689]
mov byte [0xa12688], al
movzx eax, byte [0xa12688]
movzx eax, al
mov eax, dword [eax*4 + 0xa11b60]
mov dword [0xa12638], eax
movzx eax, byte [0xa12689]
movzx eax, al
mov eax, dword [eax*4 + 0xa11b60]
mov dword [0xa1263c], eax
mov eax, dword [0x68c038]
mov ecx, dword [0xa1264c]
mov edx, dword [0x68c054]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa12640]
add ecx, edx
mov edx, dword [0xa12650]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1268c], eax
mov edx, dword [0x68c054]
mov ecx, dword [0x67b654]
mov eax, dword [0x68c034]
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 [0xa125e8], eax
mov dword [0xa12690], 0
jmp 0x49300f
mov dword [0xa12694], 0
jmp 0x492fc3
mov eax, dword [0xa12680]
movzx eax, byte [eax]
test al, al
je 0x492f66
mov eax, dword [0xa1268c]
mov edx, dword [0xa12638]
mov dword [eax], edx
jmp 0x492f73
mov eax, dword [0xa1268c]
mov edx, dword [0xa1263c]
mov dword [eax], edx
mov eax, dword [0xa12658]
test eax, eax
je 0x492f9c
mov edx, dword [0xa12694]
mov eax, dword [0xa12658]
and eax, edx
test eax, eax
je 0x492fa9
mov eax, dword [0xa12680]
add eax, 1
mov dword [0xa12680], eax
jmp 0x492fa9
mov eax, dword [0xa12680]
add eax, 1
mov dword [0xa12680], eax
mov eax, dword [0xa1268c]
add eax, 4
mov dword [0xa1268c], eax
mov eax, dword [0xa12694]
add eax, 1
mov dword [0xa12694], eax
mov edx, dword [0xa12694]
mov eax, dword [0xa125f0]
cmp edx, eax
setl al
test al, al
jne 0x492f4b
mov eax, dword [0xa1268c]
mov edx, dword [0xa125e8]
shl edx, 2
add eax, edx
mov dword [0xa1268c], eax
mov edx, dword [0xa12680]
mov eax, dword [0xa12684]
add eax, edx
mov dword [0xa12680], eax
mov eax, dword [0xa12690]
add eax, 1
mov dword [0xa12690], eax
mov edx, dword [0xa12690]
mov eax, dword [0xa125f4]
cmp edx, eax
setl al
test al, al
jne 0x492f3f
mov eax, dword [0x68c034]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x493586
mov eax, dword [0xa12600]
test eax, eax
je 0x493586
mov edx, dword [0xa12618]
mov eax, dword [0xa125d8]
cmp edx, eax
jne 0x493586
mov edx, dword [0xa1261c]
mov eax, dword [0xa125dc]
cmp edx, eax
jne 0x493586
mov eax, dword [0x68c034]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa12698], eax
mov eax, dword [0x68c034]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa1269c], eax
mov byte [0xa126a0], 0
mov byte [0xa126a1], 0
mov byte [0xa126a2], 0
mov byte [0xa126a3], 0
mov eax, dword [0xa1269c]
test eax, eax
jne 0x4930cb
mov eax, dword [0xa12698]
test eax, eax
jne 0x493585
mov byte [0xa126a2], 1
jmp 0x493229
mov edx, dword [0xa1269c]
mov eax, dword [0xa12698]
cmp edx, eax
jge 0x4930f0
mov eax, dword [0xa1269c]
mov byte [0xa126a3], al
mov byte [0xa126a2], 0xff
jmp 0x493229
mov edx, dword [0xa12698]
mov eax, dword [0xa1269c]
cmp edx, eax
jne 0x493132
mov eax, dword [0xa12698]
cmp eax, 3
jg 0x49311f
mov eax, dword [0xa12698]
mov byte [0xa126a3], al
mov byte [0xa126a2], 1
jmp 0x493229
mov byte [0xa126a0], 1
mov byte [0xa126a2], 1
jmp 0x493229
mov eax, dword [0xa12698]
cmp eax, 2
jle 0x49319a
mov edx, dword [0xa1269c]
mov eax, dword [0xa12698]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x493165
mov byte [0xa126a0], 1
mov byte [0xa126a2], 2
jmp 0x493229
mov edx, dword [0xa1269c]
mov eax, dword [0xa12698]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x49318e
mov byte [0xa126a0], 1
mov byte [0xa126a2], 3
jmp 0x493229
mov byte [0xa126a1], 1
jmp 0x493229
mov eax, dword [0xa12698]
cmp eax, 1
jg 0x4931e7
mov eax, dword [0xa1269c]
cmp eax, 3
jg 0x4931d4
mov eax, dword [0xa12698]
mov byte [0xa126a3], al
mov eax, dword [0xa1269c]
mov edx, eax
mov eax, dword [0xa12698]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa126a2], al
jmp 0x493229
mov eax, dword [0xa12698]
mov byte [0xa126a3], al
mov byte [0xa126a2], 0xff
jmp 0x493229
mov eax, dword [0xa1269c]
cmp eax, 3
jne 0x493201
mov byte [0xa126a3], 2
mov byte [0xa126a2], 2
jmp 0x493229
mov eax, dword [0xa1269c]
cmp eax, 4
jne 0x49321b
mov byte [0xa126a0], 1
mov byte [0xa126a2], 3
jmp 0x493229
mov byte [0xa126a3], 2
mov byte [0xa126a2], 0xff
mov edx, dword [0x67b654]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa126a4], eax
mov edx, dword [0x67b650]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa126a8], eax
movzx eax, byte [0xa126a1]
test al, al
je 0x493360
mov eax, dword [0xa126a8]
sub eax, 1
mov dword [0xa12690], eax
mov eax, dword [0xa126a8]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa126a2], al
movzx eax, byte [0xa12655]
and eax, 0xf
mov byte [0xa12688], al
movzx eax, byte [0xa12688]
movzx eax, al
mov eax, dword [eax*4 + 0xa11b60]
mov dword [0xa12638], eax
mov eax, dword [0x68c038]
mov ecx, dword [0xa1264c]
mov edx, dword [0xa12690]
add ecx, edx
mov edx, dword [0x68c054]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa12640]
add ecx, edx
mov edx, dword [0xa12650]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1268c], eax
mov dword [0xa12694], 0
jmp 0x49331c
mov eax, dword [0xa1268c]
mov edx, dword [0xa12638]
mov dword [eax], edx
mov eax, dword [0xa1268c]
add eax, 4
mov dword [0xa1268c], eax
mov eax, dword [0xa12694]
add eax, 1
mov dword [0xa12694], eax
mov edx, dword [0xa12694]
mov eax, dword [0xa126a4]
cmp edx, eax
setl al
test al, al
jne 0x4932f5
mov eax, dword [0xa12690]
sub eax, 1
mov dword [0xa12690], eax
movzx eax, byte [0xa126a2]
sub eax, 1
mov byte [0xa126a2], al
movzx eax, byte [0xa126a2]
test al, al
je 0x493586
jmp 0x4932b1
movzx eax, byte [0xa126a0]
test al, al
je 0x493464
mov eax, dword [0xa126a8]
sub eax, 1
mov dword [0xa12690], eax
mov eax, dword [0xa12690]
cmp eax, 0xf
jne 0x493390
mov dword [0xa12690], 0xe
movzx eax, byte [0xa12655]
and eax, 0xf
mov byte [0xa12688], al
movzx eax, byte [0xa12688]
movzx eax, al
mov eax, dword [eax*4 + 0xa11b60]
mov dword [0xa12638], eax
mov eax, dword [0x68c038]
mov ecx, dword [0xa1264c]
mov edx, dword [0xa12690]
add ecx, edx
mov edx, dword [0x68c054]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa12640]
add ecx, edx
mov edx, dword [0xa12650]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1268c], eax
mov dword [0xa12694], 0
jmp 0x493420
mov eax, dword [0xa1268c]
mov edx, dword [0xa12638]
mov dword [eax], edx
mov eax, dword [0xa1268c]
add eax, 4
mov dword [0xa1268c], eax
mov eax, dword [0xa12694]
add eax, 1
mov dword [0xa12694], eax
mov edx, dword [0xa12694]
mov eax, dword [0xa126a4]
cmp edx, eax
setl al
test al, al
jne 0x4933f9
mov eax, dword [0xa12690]
sub eax, 1
mov dword [0xa12690], eax
movzx eax, byte [0xa126a2]
sub eax, 1
mov byte [0xa126a2], al
movzx eax, byte [0xa126a2]
test al, al
je 0x493586
jmp 0x4933b5
movzx eax, byte [0xa126a3]
movzx edx, al
mov eax, dword [0xa126a8]
cmp edx, eax
jge 0x493586
movzx eax, byte [0xa126a3]
movzx eax, al
mov dword [0xa12690], eax
movzx eax, byte [0xa12655]
and eax, 0xf
mov byte [0xa12688], al
movzx eax, byte [0xa12688]
movzx eax, al
mov eax, dword [eax*4 + 0xa11b60]
mov dword [0xa12638], eax
movzx eax, byte [0xa126a2]
cmp al, 0xff
jne 0x4934d6
mov eax, dword [0xa126a8]
mov edx, eax
movzx eax, byte [0xa126a3]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa126a2], al
jmp 0x4934d6
nop
mov eax, dword [0x68c038]
mov ecx, dword [0xa1264c]
mov edx, dword [0xa12690]
add ecx, edx
mov edx, dword [0x68c054]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa12640]
add ecx, edx
mov edx, dword [0xa12650]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1268c], eax
mov dword [0xa12694], 0
jmp 0x493541
mov eax, dword [0xa1268c]
mov edx, dword [0xa12638]
mov dword [eax], edx
mov eax, dword [0xa1268c]
add eax, 4
mov dword [0xa1268c], eax
mov eax, dword [0xa12694]
add eax, 1
mov dword [0xa12694], eax
mov edx, dword [0xa12694]
mov eax, dword [0xa126a4]
cmp edx, eax
setl al
test al, al
jne 0x49351a
mov eax, dword [0xa12690]
add eax, 1
mov dword [0xa12690], eax
movzx eax, byte [0xa126a2]
sub eax, 1
mov byte [0xa126a2], al
movzx eax, byte [0xa126a2]
test al, al
jne 0x4934d5
jmp 0x493586
nop
jmp 0x493586
nop
mov edx, dword [0x67b654]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa12650]
add eax, edx
mov dword [0xa12650], eax
mov eax, dword [0xa125d8]
add eax, 1
mov dword [0xa125d8], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa125d8]
cmp edx, eax
setg al
test al, al
jne 0x492aef
mov edx, dword [0x67b650]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa1264c]
add eax, edx
mov dword [0xa1264c], eax
mov eax, dword [0xa125dc]
add eax, 1
mov dword [0xa125dc], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa125dc]
cmp edx, eax
setg al
test al, al
jne 0x492ad6
mov eax, dword [0xa12604]
mov dword [0xa12620], eax
mov eax, dword [0xa12600]
mov dword [0xa12624], eax
mov eax, dword [0xa12618]
mov dword [0x51a874], eax
mov eax, dword [0xa1261c]
mov dword [0x51a878], eax
mov dword [0x695de0], 1
movzx eax, byte [0xa125b0]
test al, al
je 0x493660
call fcn.004920e2
mov eax, dword [0xa125b4]
mov edx, eax
sar edx, 0x1f
mov dword [0xa126b0], eax
mov dword [0xa126b4], edx
jmp 0x493e55
mov eax, dword [0x68c034]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x493ad4
movzx eax, byte [0xa125b0]
test al, al
jne 0x49382b
mov dword [0xa126b8], 0
mov dword [0xa126bc], 0
mov dword [0xa12638], 0xffffffff
mov dword [0xa1263c], 0
jmp 0x49374e
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 4
je 0x4936ef
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 3
jne 0x493741
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa126b8]
mov edx, dword [0xa126bc]
cmp ebx, edx
jl 0x493741
cmp ebx, edx
jg 0x493719
cmp ecx, eax
jbe 0x493741
mov eax, dword [0xa1263c]
shl eax, 5
add eax, 0x67b4e0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa126b8], eax
mov dword [0xa126bc], edx
mov eax, dword [0xa1263c]
mov dword [0xa12638], eax
mov eax, dword [0xa1263c]
add eax, 1
mov dword [0xa1263c], eax
mov eax, dword [0xa1263c]
cmp eax, 2
setle al
test al, al
jne 0x4936c7
mov eax, dword [0x67b45c]
test eax, eax
jne 0x4938ff
mov eax, dword [0xa12638]
cmp eax, 0xffffffff
je 0x493906
mov eax, dword [0x695de0]
test eax, eax
je 0x493902
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa125c0], eax
mov eax, dword [0xa12638]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 4]
mov eax, dword [0xa12638]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa125c0]
cmp edx, eax
jne 0x493905
mov eax, dword [0x51a854]
test eax, eax
je 0x49404a
mov eax, dword [0xa125c0]
mov ecx, eax
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12638]
shl eax, 5
add eax, 0x67b4f0
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 0x49404d
jmp 0x493906
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa125c0], eax
mov edx, dword [0xa125c0]
mov eax, dword [0x51a86c]
cmp edx, eax
je 0x493888
mov eax, dword [0xa11b54]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa125c0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa11b54], eax
mov eax, dword [0xa125c0]
mov dword [0x51a86c], eax
jmp 0x4938d9
mov eax, dword [0x67b45c]
test eax, eax
jne 0x4938d5
mov eax, dword [0x51a854]
test eax, eax
je 0x494050
mov eax, dword [0xa125c0]
mov ecx, eax
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11b54]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4938d8
mov eax, dword [0x695de0]
test eax, eax
jne 0x494053
jmp 0x4938d9
nop
jmp 0x4938d9
nop
mov eax, dword [0xa125c0]
mov ecx, eax
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11b54]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x493906
nop
jmp 0x493906
nop
jmp 0x493906
nop
mov edx, dword [0x68c054]
mov eax, dword [0x68c058]
imul eax, edx
shl eax, 2
mov dword [0xa126c0], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa126c0]
cmp edx, eax
jge 0x493983
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa125b4]
mov eax, dword [0xa126c0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67b4f0
mov dword [edx], eax
mov edx, dword [0xa125b4]
mov eax, dword [0xa126c0]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 0xc], eax
mov edx, dword [0xa125b4]
mov eax, dword [0x68c054]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 4], eax
mov edx, dword [0xa125b4]
mov eax, dword [0x68c058]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 8], eax
movzx eax, byte [0xa125b0]
test al, al
jne 0x493a10
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 4]
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x493e51
mov eax, dword [0xa11b54]
mov dword [0xa126c4], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [0xa126c8], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 4]
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa126cc], eax
mov eax, dword [0xa126cc]
test eax, eax
jle 0x493e51
jmp 0x493ab9
mov eax, dword [0xa126c4]
mov edx, dword [eax]
mov dword [0xa126d0], edx
add eax, 4
mov dword [0xa126c4], eax
mov eax, dword [0xa126c8]
mov edx, dword [0xa126d0]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa126d0]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa126d0]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa126c8], eax
mov eax, dword [0xa126cc]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa126cc], eax
test dl, dl
jne 0x493a65
jmp 0x493e51
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x493b75
call fcn.00437ee3
and eax, 0x200
mov dword [0xa12638], eax
mov eax, dword [0xa12638]
test eax, eax
je 0x493b09
mov dword [0xa12638], 1
mov dword [0xa125c0], 0
jmp 0x493b66
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa125c0]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa12638]
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa125c0]
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 + 0xa045a0]
mov dword [ecx], eax
mov eax, dword [0xa125c0]
add eax, 1
mov dword [0xa125c0], eax
mov eax, dword [0xa125c0]
cmp eax, 3
setle al
test al, al
jne 0x493b15
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa125c0], eax
mov eax, dword [0x68c034]
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 [0xa12638], eax
mov edx, dword [0xa125c0]
mov eax, dword [0x51a86c]
cmp edx, eax
je 0x493bed
mov eax, dword [0xa11b54]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa125c0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa11b54], eax
mov eax, dword [0xa125c0]
mov dword [0x51a86c], eax
jmp 0x493c6b
mov eax, dword [0x67b45c]
test eax, eax
jne 0x493c64
mov eax, dword [0x51a854]
test eax, eax
je 0x494056
mov eax, dword [0xa125c0]
mov ecx, eax
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11b54]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x493c67
mov eax, dword [0xa12638]
shl eax, 2
mov edx, eax
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa11b60
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x493c6a
mov eax, dword [0x695de0]
test eax, eax
jne 0x494059
jmp 0x493c6b
nop
jmp 0x493c6b
nop
jmp 0x493c6b
nop
mov edx, dword [0x68c054]
mov eax, dword [0x68c058]
imul eax, edx
shl eax, 2
mov dword [0xa126d4], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa126d4]
cmp edx, eax
jge 0x493ce8
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa125b4]
mov eax, dword [0xa126d4]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67b4f0
mov dword [edx], eax
mov edx, dword [0xa125b4]
mov eax, dword [0xa126d4]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 0xc], eax
mov edx, dword [0xa125b4]
mov eax, dword [0x68c054]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 4], eax
mov edx, dword [0xa125b4]
mov eax, dword [0x68c058]
shl edx, 5
add edx, 0x67b4f0
mov dword [edx + 8], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax]
mov dword [0x68c038], eax
mov eax, dword [0xa125c0]
mov ecx, eax
mov eax, dword [0x68c034]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa11b54]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa12638]
shl eax, 2
mov edx, eax
mov eax, dword [0x68c034]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa11b60
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa125b0]
test al, al
je 0x493d84
call fcn.004920e2
mov eax, dword [0xa11b54]
mov dword [0xa126d8], eax
mov eax, dword [0x68c038]
mov dword [0xa126dc], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa12650], eax
mov eax, dword [0x68c034]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1264c], eax
mov dword [0xa125dc], 0
jmp 0x493e2b
mov dword [0xa125d8], 0
jmp 0x493e0a
mov edx, dword [0xa126dc]
mov eax, dword [0xa126d8]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa11b60]
mov dword [edx], ecx
add edx, 4
mov dword [0xa126dc], edx
add eax, 1
mov dword [0xa126d8], eax
mov eax, dword [0xa125d8]
add eax, 1
mov dword [0xa125d8], eax
mov edx, dword [0xa125d8]
mov eax, dword [0xa12650]
cmp edx, eax
setl al
test al, al
jne 0x493dd2
mov eax, dword [0xa125dc]
add eax, 1
mov dword [0xa125dc], eax
mov edx, dword [0xa125dc]
mov eax, dword [0xa1264c]
cmp edx, eax
setl al
test al, al
jne 0x493dc6
movzx eax, byte [0xa125b0]
test al, al
je 0x493e54
call fcn.004920e2
jmp 0x493e54
nop
jmp 0x493e55
nop
mov dword [0x67b45c], 0
mov dword [0x695de0], 1
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4e0
mov dword [eax], 3
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4e0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x67b548], eax
mov dword [0x67b54c], edx
mov eax, dword [0x676b4c]
test eax, eax
je 0x49405a
mov eax, dword [0x67b5c0]
test eax, eax
je 0x49405a
mov eax, dword [0xa126e0]
test eax, eax
jne 0x493f03
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 [0xa126e0], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax + 4]
mov dword [0xa126e4], eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov eax, dword [eax + 8]
mov dword [0xa126e8], eax
mov eax, dword [0xa126ec]
add eax, 1
mov dword [0xa126ec], eax
mov eax, dword [0xa126ec]
mov dword [0xa126f0], eax
mov eax, dword [0xa126e4]
mov dword [0xa126f4], eax
mov eax, dword [0xa126e8]
mov dword [0xa126f8], eax
mov eax, dword [0xa126e0]
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 [0xa126e4]
mov eax, dword [0xa126e8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4f0
mov edx, dword [eax]
mov eax, dword [0xa126e0]
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 [0xa126e0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa126e0]
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 [0xa126e0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa126f0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
jmp 0x49405a
nop
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4e0
mov eax, dword [eax]
cmp eax, 2
jne 0x49409f
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4e0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x67b548], eax
mov dword [0x67b54c], edx
mov eax, dword [0xa125b4]
shl eax, 5
add eax, 0x67b4e0
mov dword [eax], 1
mov eax, dword [0x695df4]
cmp eax, 1
jne 0x4940c4
mov dword [0x695df4], 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 0x4940d8
mov dword [0x51a2d8], 0
mov dword [0xa11b00], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret