Function at 0x492482
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa13690], 0
mov eax, dword [0x677b4c]
test eax, eax
je 0x4924a2
mov byte [0xa13690], 1
mov eax, dword [0x696ed4]
cmp eax, 1
jne 0x4924c7
mov dword [0x696ed4], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x677b4c]
test eax, eax
jne 0x4924e8
mov eax, dword [0x67c724]
test eax, eax
je 0x4924e8
mov dword [0xa12be0], 1
jmp 0x494407
mov eax, dword [0x696ed4]
test eax, eax
jne 0x4943c3
mov dword [0xa13694], 0xffffffff
mov eax, dword [0x51b0a0]
mov edx, dword [0x51b0a4]
mov dword [0xa13698], eax
mov dword [0xa1369c], edx
mov dword [0xa136a0], 0
jmp 0x492594
mov eax, dword [0xa136a0]
shl eax, 5
add eax, 0x67c5c0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa13698]
mov edx, dword [0xa1369c]
cmp ebx, edx
jg 0x492587
cmp ebx, edx
jl 0x49254b
cmp ecx, eax
jae 0x492587
mov eax, dword [0xa136a0]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 3
jne 0x492587
mov eax, dword [0xa136a0]
shl eax, 5
add eax, 0x67c5c0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa13698], eax
mov dword [0xa1369c], edx
mov eax, dword [0xa136a0]
mov dword [0xa13694], eax
mov eax, dword [0xa136a0]
add eax, 1
mov dword [0xa136a0], eax
mov eax, dword [0xa136a0]
cmp eax, 2
setle al
test al, al
jne 0x492521
mov dword [0xa136a0], 0
jmp 0x4925de
mov eax, dword [0xa136a0]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 1
jne 0x4925d1
mov eax, dword [0xa136a0]
mov dword [0xa13694], eax
mov eax, dword [0xa136a0]
add eax, 1
mov dword [0xa136a0], eax
mov eax, dword [0xa136a0]
cmp eax, 2
setle al
test al, al
jne 0x4925b3
mov eax, dword [0xa13694]
cmp eax, 0xffffffff
jne 0x492608
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.00438c8b
jmp 0x494407
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5c0
mov dword [eax], 2
mov ecx, dword [0xa13694]
mov eax, dword [0x51b0a0]
mov edx, dword [0x51b0a4]
shl ecx, 5
add ecx, 0x67c5c0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add eax, 1
adc edx, 0
mov dword [0x51b0a0], eax
mov dword [0x51b0a4], edx
mov eax, dword [0x677b4c]
test eax, eax
je 0x49269d
mov dword [esp + 8], 1
fld qword [0x54aa48]
fstp qword [esp]
call fcn.0045a412
fstp qword [0xa136a8]
fld qword [0xa136b0]
fld qword [0xa136a8]
fsubp st(1)
fabs
fld qword [0x54abd0]
fucompi st(1)
fstp st(0)
ja 0x494362
fld qword [0xa136a8]
fstp qword [0xa136b0]
mov eax, dword [0x68d114]
test eax, eax
je 0x494365
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa136b8], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa136bc], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x49272c
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x67c734]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa136b8], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x67c730]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa136bc], eax
mov eax, dword [0xa136b8]
cmp eax, 0x200
jg 0x49275c
mov eax, dword [0xa136bc]
cmp eax, 0x180
jg 0x49275c
mov eax, dword [0xa136b8]
add eax, eax
mov dword [0xa136b8], eax
mov eax, dword [0xa136bc]
add eax, eax
mov dword [0xa136bc], eax
mov dword [0xa136c0], 0xffffffff
mov dword [0xa136c4], 0xffffffff
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa136b8], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa136bc], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4927f2
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x67c734]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa136b8], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x67c730]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa136bc], eax
mov eax, dword [0xa136b8]
mov dword [0x68d134], eax
mov eax, dword [0xa136bc]
mov dword [0x68d138], eax
mov dword [0xa136c8], 0
mov dword [0x68d13c], 0
mov eax, dword [0x68d118]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x49399e
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
mov dword [0xa136cc], eax
mov eax, dword [0x67c734]
mov edx, dword [0xa136cc]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa136d0], eax
mov eax, dword [0x67c730]
mov edx, dword [0xa136cc]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa136d4], eax
mov eax, dword [0x696ec0]
mov dword [0xa136d8], eax
mov dword [0xa136dc], 0
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa136a0], eax
mov eax, dword [0xa136a0]
mov edx, eax
mov eax, dword [0x51b560]
cmp edx, eax
je 0x4928e8
mov eax, dword [0x696ec4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa136a0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x696ec4], eax
mov eax, dword [0xa136a0]
mov dword [0x51b560], eax
mov dword [0xa136d8], 0
mov eax, dword [0x51b854]
test eax, eax
jne 0x4928ff
mov eax, dword [0xa136d8]
cmp eax, 1
je 0x494368
mov eax, dword [0xa136d8]
test eax, eax
jne 0x49292a
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa12c40
call sub.msvcrt.dll_memcpy
jmp 0x492978
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa12c40
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x492978
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa12c40
call sub.msvcrt.dll_memcpy
mov dword [0xa136d8], 0
mov eax, dword [0xa136d8]
test eax, eax
je 0x4929b2
mov ecx, dword [0x51b560]
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0x696ec4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4929b2
mov dword [0xa136dc], 1
mov eax, dword [0x696dac]
and eax, 8
test eax, eax
je 0x4929ca
mov dword [0xa136e0], 1
jmp 0x4929d4
mov dword [0xa136e0], 0
mov eax, dword [0x696dac]
and eax, 8
test eax, eax
je 0x4929ec
mov dword [0xa136e4], 1
jmp 0x4929f6
mov dword [0xa136e4], 0
mov eax, dword [0x677b4c]
test eax, eax
je 0x492ac2
mov dword [esp + 8], 1
fld qword [0x54aa48]
fstp qword [esp]
call fcn.0045a412
fld qword [0x54a9d0]
fdivp st(1)
fstp qword [0xa136e8]
fld qword [0xa136e8]
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 [0xa136f0], eax
mov dword [0xa136f4], edx
mov eax, dword [0xa136f0]
mov edx, dword [0xa136f4]
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 0x492a85
mov dword [0xa136e0], 1
jmp 0x492a8f
mov dword [0xa136e0], 0
mov eax, dword [0xa136f0]
mov edx, dword [0xa136f4]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x492ab8
mov dword [0xa136e4], 1
jmp 0x492ac2
mov dword [0xa136e4], 0
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa136f8], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa136fc], eax
mov eax, dword [0x68d114]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x492b22
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa136fc]
cmp edx, eax
jle 0x492b22
mov eax, dword [0xa136fc]
add eax, 1
mov dword [0xa136fc], eax
mov dword [0xa136f8], 0
mov eax, dword [0xa136d8]
test eax, eax
je 0x492b85
mov edx, dword [0xa136e4]
mov eax, dword [0xa13700]
cmp edx, eax
je 0x492b44
mov dword [0xa136dc], 1
mov edx, dword [0xa136e0]
mov eax, dword [0xa13704]
cmp edx, eax
je 0x492b5d
mov dword [0xa136dc], 1
mov edx, dword [0xa136f8]
mov eax, dword [0x51b874]
cmp edx, eax
jne 0x492b7b
mov edx, dword [0xa136fc]
mov eax, dword [0x51b878]
cmp edx, eax
je 0x492b85
mov dword [0xa136dc], 1
mov eax, dword [0xa136d8]
test eax, eax
jne 0x492b98
mov dword [0xa136dc], 1
mov eax, dword [0xa136dc]
test eax, eax
je 0x49436b
mov edx, dword [0x68d134]
mov eax, dword [0x68d138]
imul eax, edx
shl eax, 2
mov dword [0xa13708], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa13708]
cmp edx, eax
jge 0x492c22
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa13694]
mov eax, dword [0xa13708]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67c5d0
mov dword [edx], eax
mov edx, dword [0xa13694]
mov eax, dword [0xa13708]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 0xc], eax
mov edx, dword [0xa13694]
mov eax, dword [0x68d134]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 4], eax
mov edx, dword [0xa13694]
mov eax, dword [0x68d138]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 8], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [0x68d118], eax
mov eax, dword [0xa136d8]
test eax, eax
je 0x492db0
mov dword [0xa13710], 0
mov dword [0xa13714], 0
mov dword [0xa13718], 0xffffffff
mov dword [0xa1371c], 0
jmp 0x492d25
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 4
je 0x492cc6
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 3
jne 0x492d18
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa13710]
mov edx, dword [0xa13714]
cmp ebx, edx
jl 0x492d18
cmp ebx, edx
jg 0x492cf0
cmp ecx, eax
jbe 0x492d18
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa13710], eax
mov dword [0xa13714], edx
mov eax, dword [0xa1371c]
mov dword [0xa13718], eax
mov eax, dword [0xa1371c]
add eax, 1
mov dword [0xa1371c], eax
mov eax, dword [0xa1371c]
cmp eax, 2
setle al
test al, al
jne 0x492c9e
mov eax, dword [0xa13718]
cmp eax, 0xffffffff
je 0x492d9a
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 4]
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa13718]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax]
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x492db0
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.00438c8b
mov dword [0xa136d8], 0
mov dword [0xa13720], 0
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x40]
mov dword [0xa13724], eax
mov eax, dword [0x696ec4]
mov dword [0xa13728], eax
movzx eax, byte [0xa13690]
test al, al
je 0x492de1
call fcn.00492406
mov dword [0xa1372c], 0
mov dword [0xa136bc], 0
jmp 0x493924
mov dword [0xa13730], 0
mov dword [0xa136b8], 0
jmp 0x4938d8
mov eax, dword [0xa13724]
movzx eax, byte [eax]
mov byte [0xa13734], al
mov eax, dword [0xa13724]
add eax, 1
mov dword [0xa13724], eax
mov eax, dword [0xa13724]
movzx eax, byte [eax]
mov byte [0xa13735], al
mov eax, dword [0xa13724]
add eax, 1
mov dword [0xa13724], eax
mov eax, dword [0xa13728]
movzx eax, byte [eax]
mov byte [0xa13736], al
mov eax, dword [0xa13728]
add eax, 1
mov dword [0xa13728], eax
mov eax, dword [0xa13728]
movzx eax, byte [eax]
mov byte [0xa13737], al
mov eax, dword [0xa13728]
add eax, 1
mov dword [0xa13728], eax
mov eax, dword [0xa136d8]
test eax, eax
je 0x492f49
movzx edx, byte [0xa13734]
movzx eax, byte [0xa13736]
cmp dl, al
jne 0x492f49
movzx edx, byte [0xa13735]
movzx eax, byte [0xa13737]
cmp dl, al
jne 0x492f49
movzx eax, byte [0xa13735]
test al, al
jns 0x492ece
mov edx, dword [0xa136e4]
mov eax, dword [0xa13700]
cmp edx, eax
jne 0x492f45
mov edx, dword [0xa136b8]
mov eax, dword [0xa136f8]
cmp edx, eax
jne 0x492efb
mov edx, dword [0xa136bc]
mov eax, dword [0xa136fc]
cmp edx, eax
jne 0x492efb
mov edx, dword [0xa136e0]
mov eax, dword [0xa13704]
cmp edx, eax
jne 0x492f48
mov edx, dword [0xa136b8]
mov eax, dword [0x51b874]
cmp edx, eax
jne 0x4938a6
mov edx, dword [0xa136bc]
mov eax, dword [0x51b878]
cmp edx, eax
jne 0x4938a6
mov edx, dword [0xa136f8]
mov eax, dword [0x51b874]
cmp edx, eax
jne 0x492f49
mov edx, dword [0xa136fc]
mov eax, dword [0x51b878]
cmp edx, eax
je 0x4938a6
jmp 0x492f49
nop
jmp 0x492f49
nop
mov eax, dword [0xa13728]
sub eax, 2
mov dword [0xa13728], eax
mov eax, dword [0xa13728]
movzx edx, byte [0xa13734]
mov byte [eax], dl
mov eax, dword [0xa13728]
add eax, 1
mov dword [0xa13728], eax
mov eax, dword [0xa13728]
movzx edx, byte [0xa13735]
mov byte [eax], dl
mov eax, dword [0xa13728]
add eax, 1
mov dword [0xa13728], eax
mov dword [0xa13738], 0
mov eax, dword [0xa136cc]
cmp eax, 0x1f
jle 0x493062
movzx eax, byte [0xa13734]
movzx eax, al
movzx eax, word [eax + eax + 0x51b0c0]
movzx eax, ax
mov dword [0xa1373c], eax
mov dword [0xa13740], 1
mov eax, dword [0xa13744]
test eax, eax
je 0x492fde
mov eax, dword [0xa13744]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa13740]
mov eax, dword [0x67c72c]
mov ecx, dword [0xa136cc]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa13758
mov dword [esp + 0x1c], 0xa13754
mov dword [esp + 0x18], 0xa13750
mov dword [esp + 0x14], 0xa1374c
mov dword [esp + 0x10], 0xa13748
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa1373c
mov dword [esp], eax
call fcn.004381d9
mov dword [0xa1375c], eax
mov eax, dword [0xa13748]
mov dword [0xa13744], eax
mov eax, dword [0xa13748]
mov dword [0xa13760], eax
mov dword [0xa13764], 0
jmp 0x493156
mov dword [0xa13764], 0
mov eax, dword [0xa136cc]
cmp eax, 8
jne 0x49308d
movzx eax, byte [0xa13734]
movzx eax, al
shl eax, 6
add eax, 0xa056e0
mov dword [0xa13760], eax
mov eax, dword [0xa136cc]
cmp eax, 0xe
jne 0x4930b1
movzx eax, byte [0xa13734]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa096e0
mov dword [0xa13760], eax
mov eax, dword [0xa136cc]
cmp eax, 0x10
jne 0x4930d2
movzx eax, byte [0xa13734]
movzx eax, al
shl eax, 7
add eax, 0xa096e0
mov dword [0xa13760], eax
mov eax, dword [0xa136cc]
cmp eax, 9
jne 0x4930fd
movzx eax, byte [0xa13734]
movzx eax, al
shl eax, 6
add eax, 0xa056e0
mov dword [0xa13760], eax
mov dword [0xa13738], 1
mov eax, dword [0xa136cc]
cmp eax, 0xf
jne 0x49312b
movzx eax, byte [0xa13734]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa096e0
mov dword [0xa13760], eax
mov dword [0xa13738], 1
mov eax, dword [0xa136cc]
cmp eax, 0x11
jne 0x493156
movzx eax, byte [0xa13734]
movzx eax, al
shl eax, 7
add eax, 0xa096e0
mov dword [0xa13760], eax
mov dword [0xa13738], 1
movzx eax, byte [0xa13735]
and eax, 0xf
mov byte [0xa13768], al
mov eax, dword [0x51b650]
test eax, eax
je 0x493197
movzx eax, byte [0xa13735]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa13769], al
movzx eax, byte [0xa13735]
movzx eax, al
sar eax, 7
mov byte [0xa1376a], al
jmp 0x4931a9
movzx eax, byte [0xa13735]
movzx eax, al
sar eax, 4
mov byte [0xa13769], al
movzx eax, byte [0xa1376a]
test al, al
je 0x4931d2
mov eax, dword [0xa136e4]
test eax, eax
je 0x4931d2
mov eax, dword [0x51b650]
test eax, eax
je 0x4931d2
movzx eax, byte [0xa13769]
mov byte [0xa13768], al
movzx eax, byte [0xa13768]
movzx eax, al
mov eax, dword [eax*4 + 0xa12c40]
mov dword [0xa13718], eax
movzx eax, byte [0xa13769]
movzx eax, al
mov eax, dword [eax*4 + 0xa12c40]
mov dword [0xa1371c], eax
mov eax, dword [0x68d118]
mov ecx, dword [0xa1372c]
mov edx, dword [0x68d134]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa13720]
add ecx, edx
mov edx, dword [0xa13730]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1376c], eax
mov edx, dword [0x68d134]
mov ecx, dword [0x67c734]
mov eax, dword [0x68d114]
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 [0xa136c8], eax
mov dword [0xa13770], 0
jmp 0x493333
mov dword [0xa13774], 0
jmp 0x4932e7
mov eax, dword [0xa13760]
movzx eax, byte [eax]
test al, al
je 0x49328a
mov eax, dword [0xa1376c]
mov edx, dword [0xa13718]
mov dword [eax], edx
jmp 0x493297
mov eax, dword [0xa1376c]
mov edx, dword [0xa1371c]
mov dword [eax], edx
mov eax, dword [0xa13738]
test eax, eax
je 0x4932c0
mov edx, dword [0xa13774]
mov eax, dword [0xa13738]
and eax, edx
test eax, eax
je 0x4932cd
mov eax, dword [0xa13760]
add eax, 1
mov dword [0xa13760], eax
jmp 0x4932cd
mov eax, dword [0xa13760]
add eax, 1
mov dword [0xa13760], eax
mov eax, dword [0xa1376c]
add eax, 4
mov dword [0xa1376c], eax
mov eax, dword [0xa13774]
add eax, 1
mov dword [0xa13774], eax
mov edx, dword [0xa13774]
mov eax, dword [0xa136d0]
cmp edx, eax
setl al
test al, al
jne 0x49326f
mov eax, dword [0xa1376c]
mov edx, dword [0xa136c8]
shl edx, 2
add eax, edx
mov dword [0xa1376c], eax
mov edx, dword [0xa13760]
mov eax, dword [0xa13764]
add eax, edx
mov dword [0xa13760], eax
mov eax, dword [0xa13770]
add eax, 1
mov dword [0xa13770], eax
mov edx, dword [0xa13770]
mov eax, dword [0xa136d4]
cmp edx, eax
setl al
test al, al
jne 0x493263
mov eax, dword [0x68d114]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x4938aa
mov eax, dword [0xa136e0]
test eax, eax
je 0x4938aa
mov edx, dword [0xa136f8]
mov eax, dword [0xa136b8]
cmp edx, eax
jne 0x4938aa
mov edx, dword [0xa136fc]
mov eax, dword [0xa136bc]
cmp edx, eax
jne 0x4938aa
mov eax, dword [0x68d114]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa13778], eax
mov eax, dword [0x68d114]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa1377c], eax
mov byte [0xa13780], 0
mov byte [0xa13781], 0
mov byte [0xa13782], 0
mov byte [0xa13783], 0
mov eax, dword [0xa1377c]
test eax, eax
jne 0x4933ef
mov eax, dword [0xa13778]
test eax, eax
jne 0x4938a9
mov byte [0xa13782], 1
jmp 0x49354d
mov edx, dword [0xa1377c]
mov eax, dword [0xa13778]
cmp edx, eax
jge 0x493414
mov eax, dword [0xa1377c]
mov byte [0xa13783], al
mov byte [0xa13782], 0xff
jmp 0x49354d
mov edx, dword [0xa13778]
mov eax, dword [0xa1377c]
cmp edx, eax
jne 0x493456
mov eax, dword [0xa13778]
cmp eax, 3
jg 0x493443
mov eax, dword [0xa13778]
mov byte [0xa13783], al
mov byte [0xa13782], 1
jmp 0x49354d
mov byte [0xa13780], 1
mov byte [0xa13782], 1
jmp 0x49354d
mov eax, dword [0xa13778]
cmp eax, 2
jle 0x4934be
mov edx, dword [0xa1377c]
mov eax, dword [0xa13778]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x493489
mov byte [0xa13780], 1
mov byte [0xa13782], 2
jmp 0x49354d
mov edx, dword [0xa1377c]
mov eax, dword [0xa13778]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x4934b2
mov byte [0xa13780], 1
mov byte [0xa13782], 3
jmp 0x49354d
mov byte [0xa13781], 1
jmp 0x49354d
mov eax, dword [0xa13778]
cmp eax, 1
jg 0x49350b
mov eax, dword [0xa1377c]
cmp eax, 3
jg 0x4934f8
mov eax, dword [0xa13778]
mov byte [0xa13783], al
mov eax, dword [0xa1377c]
mov edx, eax
mov eax, dword [0xa13778]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa13782], al
jmp 0x49354d
mov eax, dword [0xa13778]
mov byte [0xa13783], al
mov byte [0xa13782], 0xff
jmp 0x49354d
mov eax, dword [0xa1377c]
cmp eax, 3
jne 0x493525
mov byte [0xa13783], 2
mov byte [0xa13782], 2
jmp 0x49354d
mov eax, dword [0xa1377c]
cmp eax, 4
jne 0x49353f
mov byte [0xa13780], 1
mov byte [0xa13782], 3
jmp 0x49354d
mov byte [0xa13783], 2
mov byte [0xa13782], 0xff
mov edx, dword [0x67c734]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa13784], eax
mov edx, dword [0x67c730]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa13788], eax
movzx eax, byte [0xa13781]
test al, al
je 0x493684
mov eax, dword [0xa13788]
sub eax, 1
mov dword [0xa13770], eax
mov eax, dword [0xa13788]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa13782], al
movzx eax, byte [0xa13735]
and eax, 0xf
mov byte [0xa13768], al
movzx eax, byte [0xa13768]
movzx eax, al
mov eax, dword [eax*4 + 0xa12c40]
mov dword [0xa13718], eax
mov eax, dword [0x68d118]
mov ecx, dword [0xa1372c]
mov edx, dword [0xa13770]
add ecx, edx
mov edx, dword [0x68d134]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa13720]
add ecx, edx
mov edx, dword [0xa13730]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1376c], eax
mov dword [0xa13774], 0
jmp 0x493640
mov eax, dword [0xa1376c]
mov edx, dword [0xa13718]
mov dword [eax], edx
mov eax, dword [0xa1376c]
add eax, 4
mov dword [0xa1376c], eax
mov eax, dword [0xa13774]
add eax, 1
mov dword [0xa13774], eax
mov edx, dword [0xa13774]
mov eax, dword [0xa13784]
cmp edx, eax
setl al
test al, al
jne 0x493619
mov eax, dword [0xa13770]
sub eax, 1
mov dword [0xa13770], eax
movzx eax, byte [0xa13782]
sub eax, 1
mov byte [0xa13782], al
movzx eax, byte [0xa13782]
test al, al
je 0x4938aa
jmp 0x4935d5
movzx eax, byte [0xa13780]
test al, al
je 0x493788
mov eax, dword [0xa13788]
sub eax, 1
mov dword [0xa13770], eax
mov eax, dword [0xa13770]
cmp eax, 0xf
jne 0x4936b4
mov dword [0xa13770], 0xe
movzx eax, byte [0xa13735]
and eax, 0xf
mov byte [0xa13768], al
movzx eax, byte [0xa13768]
movzx eax, al
mov eax, dword [eax*4 + 0xa12c40]
mov dword [0xa13718], eax
mov eax, dword [0x68d118]
mov ecx, dword [0xa1372c]
mov edx, dword [0xa13770]
add ecx, edx
mov edx, dword [0x68d134]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa13720]
add ecx, edx
mov edx, dword [0xa13730]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1376c], eax
mov dword [0xa13774], 0
jmp 0x493744
mov eax, dword [0xa1376c]
mov edx, dword [0xa13718]
mov dword [eax], edx
mov eax, dword [0xa1376c]
add eax, 4
mov dword [0xa1376c], eax
mov eax, dword [0xa13774]
add eax, 1
mov dword [0xa13774], eax
mov edx, dword [0xa13774]
mov eax, dword [0xa13784]
cmp edx, eax
setl al
test al, al
jne 0x49371d
mov eax, dword [0xa13770]
sub eax, 1
mov dword [0xa13770], eax
movzx eax, byte [0xa13782]
sub eax, 1
mov byte [0xa13782], al
movzx eax, byte [0xa13782]
test al, al
je 0x4938aa
jmp 0x4936d9
movzx eax, byte [0xa13783]
movzx edx, al
mov eax, dword [0xa13788]
cmp edx, eax
jge 0x4938aa
movzx eax, byte [0xa13783]
movzx eax, al
mov dword [0xa13770], eax
movzx eax, byte [0xa13735]
and eax, 0xf
mov byte [0xa13768], al
movzx eax, byte [0xa13768]
movzx eax, al
mov eax, dword [eax*4 + 0xa12c40]
mov dword [0xa13718], eax
movzx eax, byte [0xa13782]
cmp al, 0xff
jne 0x4937fa
mov eax, dword [0xa13788]
mov edx, eax
movzx eax, byte [0xa13783]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa13782], al
jmp 0x4937fa
nop
mov eax, dword [0x68d118]
mov ecx, dword [0xa1372c]
mov edx, dword [0xa13770]
add ecx, edx
mov edx, dword [0x68d134]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa13720]
add ecx, edx
mov edx, dword [0xa13730]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1376c], eax
mov dword [0xa13774], 0
jmp 0x493865
mov eax, dword [0xa1376c]
mov edx, dword [0xa13718]
mov dword [eax], edx
mov eax, dword [0xa1376c]
add eax, 4
mov dword [0xa1376c], eax
mov eax, dword [0xa13774]
add eax, 1
mov dword [0xa13774], eax
mov edx, dword [0xa13774]
mov eax, dword [0xa13784]
cmp edx, eax
setl al
test al, al
jne 0x49383e
mov eax, dword [0xa13770]
add eax, 1
mov dword [0xa13770], eax
movzx eax, byte [0xa13782]
sub eax, 1
mov byte [0xa13782], al
movzx eax, byte [0xa13782]
test al, al
jne 0x4937f9
jmp 0x4938aa
nop
jmp 0x4938aa
nop
mov edx, dword [0x67c734]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa13730]
add eax, edx
mov dword [0xa13730], eax
mov eax, dword [0xa136b8]
add eax, 1
mov dword [0xa136b8], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa136b8]
cmp edx, eax
setg al
test al, al
jne 0x492e13
mov edx, dword [0x67c730]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa1372c]
add eax, edx
mov dword [0xa1372c], eax
mov eax, dword [0xa136bc]
add eax, 1
mov dword [0xa136bc], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa136bc]
cmp edx, eax
setg al
test al, al
jne 0x492dfa
mov eax, dword [0xa136e4]
mov dword [0xa13700], eax
mov eax, dword [0xa136e0]
mov dword [0xa13704], eax
mov eax, dword [0xa136f8]
mov dword [0x51b874], eax
mov eax, dword [0xa136fc]
mov dword [0x51b878], eax
mov dword [0x696ec0], 1
movzx eax, byte [0xa13690]
test al, al
je 0x493984
call fcn.00492406
mov eax, dword [0xa13694]
mov edx, eax
sar edx, 0x1f
mov dword [0xa13790], eax
mov dword [0xa13794], edx
jmp 0x494179
mov eax, dword [0x68d114]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x493df8
movzx eax, byte [0xa13690]
test al, al
jne 0x493b4f
mov dword [0xa13798], 0
mov dword [0xa1379c], 0
mov dword [0xa13718], 0xffffffff
mov dword [0xa1371c], 0
jmp 0x493a72
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 4
je 0x493a13
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 3
jne 0x493a65
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa13798]
mov edx, dword [0xa1379c]
cmp ebx, edx
jl 0x493a65
cmp ebx, edx
jg 0x493a3d
cmp ecx, eax
jbe 0x493a65
mov eax, dword [0xa1371c]
shl eax, 5
add eax, 0x67c5c0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa13798], eax
mov dword [0xa1379c], edx
mov eax, dword [0xa1371c]
mov dword [0xa13718], eax
mov eax, dword [0xa1371c]
add eax, 1
mov dword [0xa1371c], eax
mov eax, dword [0xa1371c]
cmp eax, 2
setle al
test al, al
jne 0x4939eb
mov eax, dword [0x67c53c]
test eax, eax
jne 0x493c23
mov eax, dword [0xa13718]
cmp eax, 0xffffffff
je 0x493c2a
mov eax, dword [0x696ec0]
test eax, eax
je 0x493c26
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa136a0], eax
mov eax, dword [0xa13718]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 4]
mov eax, dword [0xa13718]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa136a0]
cmp edx, eax
jne 0x493c29
mov eax, dword [0x51b854]
test eax, eax
je 0x49436e
mov eax, dword [0xa136a0]
mov ecx, eax
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa13718]
shl eax, 5
add eax, 0x67c5d0
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 0x494371
jmp 0x493c2a
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa136a0], eax
mov edx, dword [0xa136a0]
mov eax, dword [0x51b86c]
cmp edx, eax
je 0x493bac
mov eax, dword [0xa12c34]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa136a0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa12c34], eax
mov eax, dword [0xa136a0]
mov dword [0x51b86c], eax
jmp 0x493bfd
mov eax, dword [0x67c53c]
test eax, eax
jne 0x493bf9
mov eax, dword [0x51b854]
test eax, eax
je 0x494374
mov eax, dword [0xa136a0]
mov ecx, eax
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12c34]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x493bfc
mov eax, dword [0x696ec0]
test eax, eax
jne 0x494377
jmp 0x493bfd
nop
jmp 0x493bfd
nop
mov eax, dword [0xa136a0]
mov ecx, eax
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12c34]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x493c2a
nop
jmp 0x493c2a
nop
jmp 0x493c2a
nop
mov edx, dword [0x68d134]
mov eax, dword [0x68d138]
imul eax, edx
shl eax, 2
mov dword [0xa137a0], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa137a0]
cmp edx, eax
jge 0x493ca7
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa13694]
mov eax, dword [0xa137a0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67c5d0
mov dword [edx], eax
mov edx, dword [0xa13694]
mov eax, dword [0xa137a0]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 0xc], eax
mov edx, dword [0xa13694]
mov eax, dword [0x68d134]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 4], eax
mov edx, dword [0xa13694]
mov eax, dword [0x68d138]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 8], eax
movzx eax, byte [0xa13690]
test al, al
jne 0x493d34
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 4]
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x494175
mov eax, dword [0xa12c34]
mov dword [0xa137a4], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [0xa137a8], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 4]
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa137ac], eax
mov eax, dword [0xa137ac]
test eax, eax
jle 0x494175
jmp 0x493ddd
mov eax, dword [0xa137a4]
mov edx, dword [eax]
mov dword [0xa137b0], edx
add eax, 4
mov dword [0xa137a4], eax
mov eax, dword [0xa137a8]
mov edx, dword [0xa137b0]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa137b0]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa137b0]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa137a8], eax
mov eax, dword [0xa137ac]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa137ac], eax
test dl, dl
jne 0x493d89
jmp 0x494175
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x493e99
call fcn.00438207
and eax, 0x200
mov dword [0xa13718], eax
mov eax, dword [0xa13718]
test eax, eax
je 0x493e2d
mov dword [0xa13718], 1
mov dword [0xa136a0], 0
jmp 0x493e8a
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa136a0]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa13718]
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa136a0]
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 + 0xa05680]
mov dword [ecx], eax
mov eax, dword [0xa136a0]
add eax, 1
mov dword [0xa136a0], eax
mov eax, dword [0xa136a0]
cmp eax, 3
setle al
test al, al
jne 0x493e39
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa136a0], eax
mov eax, dword [0x68d114]
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 [0xa13718], eax
mov edx, dword [0xa136a0]
mov eax, dword [0x51b86c]
cmp edx, eax
je 0x493f11
mov eax, dword [0xa12c34]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa136a0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa12c34], eax
mov eax, dword [0xa136a0]
mov dword [0x51b86c], eax
jmp 0x493f8f
mov eax, dword [0x67c53c]
test eax, eax
jne 0x493f88
mov eax, dword [0x51b854]
test eax, eax
je 0x49437a
mov eax, dword [0xa136a0]
mov ecx, eax
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12c34]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x493f8b
mov eax, dword [0xa13718]
shl eax, 2
mov edx, eax
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa12c40
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x493f8e
mov eax, dword [0x696ec0]
test eax, eax
jne 0x49437d
jmp 0x493f8f
nop
jmp 0x493f8f
nop
jmp 0x493f8f
nop
mov edx, dword [0x68d134]
mov eax, dword [0x68d138]
imul eax, edx
shl eax, 2
mov dword [0xa137b4], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax + 0xc]
mov eax, dword [0xa137b4]
cmp edx, eax
jge 0x49400c
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa13694]
mov eax, dword [0xa137b4]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x67c5d0
mov dword [edx], eax
mov edx, dword [0xa13694]
mov eax, dword [0xa137b4]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 0xc], eax
mov edx, dword [0xa13694]
mov eax, dword [0x68d134]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 4], eax
mov edx, dword [0xa13694]
mov eax, dword [0x68d138]
shl edx, 5
add edx, 0x67c5d0
mov dword [edx + 8], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax]
mov dword [0x68d118], eax
mov eax, dword [0xa136a0]
mov ecx, eax
mov eax, dword [0x68d114]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa12c34]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa13718]
shl eax, 2
mov edx, eax
mov eax, dword [0x68d114]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa12c40
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa13690]
test al, al
je 0x4940a8
call fcn.00492406
mov eax, dword [0xa12c34]
mov dword [0xa137b8], eax
mov eax, dword [0x68d118]
mov dword [0xa137bc], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa13730], eax
mov eax, dword [0x68d114]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1372c], eax
mov dword [0xa136bc], 0
jmp 0x49414f
mov dword [0xa136b8], 0
jmp 0x49412e
mov edx, dword [0xa137bc]
mov eax, dword [0xa137b8]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa12c40]
mov dword [edx], ecx
add edx, 4
mov dword [0xa137bc], edx
add eax, 1
mov dword [0xa137b8], eax
mov eax, dword [0xa136b8]
add eax, 1
mov dword [0xa136b8], eax
mov edx, dword [0xa136b8]
mov eax, dword [0xa13730]
cmp edx, eax
setl al
test al, al
jne 0x4940f6
mov eax, dword [0xa136bc]
add eax, 1
mov dword [0xa136bc], eax
mov edx, dword [0xa136bc]
mov eax, dword [0xa1372c]
cmp edx, eax
setl al
test al, al
jne 0x4940ea
movzx eax, byte [0xa13690]
test al, al
je 0x494178
call fcn.00492406
jmp 0x494178
nop
jmp 0x494179
nop
mov dword [0x67c53c], 0
mov dword [0x696ec0], 1
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5c0
mov dword [eax], 3
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5c0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x67c628], eax
mov dword [0x67c62c], edx
mov eax, dword [0x677b4c]
test eax, eax
je 0x49437e
mov eax, dword [0x67c6a0]
test eax, eax
je 0x49437e
mov eax, dword [0xa137c0]
test eax, eax
jne 0x494227
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 [0xa137c0], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax + 4]
mov dword [0xa137c4], eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov eax, dword [eax + 8]
mov dword [0xa137c8], eax
mov eax, dword [0xa137cc]
add eax, 1
mov dword [0xa137cc], eax
mov eax, dword [0xa137cc]
mov dword [0xa137d0], eax
mov eax, dword [0xa137c4]
mov dword [0xa137d4], eax
mov eax, dword [0xa137c8]
mov dword [0xa137d8], eax
mov eax, dword [0xa137c0]
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 [0xa137c4]
mov eax, dword [0xa137c8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5d0
mov edx, dword [eax]
mov eax, dword [0xa137c0]
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 [0xa137c0]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa137c0]
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 [0xa137c0]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa137d0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
jmp 0x49437e
nop
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5c0
mov eax, dword [eax]
cmp eax, 2
jne 0x4943c3
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5c0
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x67c628], eax
mov dword [0x67c62c], edx
mov eax, dword [0xa13694]
shl eax, 5
add eax, 0x67c5c0
mov dword [eax], 1
mov eax, dword [0x696ed4]
cmp eax, 1
jne 0x4943e8
mov dword [0x696ed4], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x51b2d8]
cmp eax, 0xffffffff
jne 0x4943fc
mov dword [0x51b2d8], 0
mov dword [0xa12be0], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret