Function at 0x498f3e
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa19650], 0
mov eax, dword [0x67db4c]
test eax, eax
je 0x498f5e
mov byte [0xa19650], 1
mov eax, dword [0x69ce94]
cmp eax, 1
jne 0x498f83
mov dword [0x69ce94], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x67db4c]
test eax, eax
jne 0x498fa4
mov eax, dword [0x6826e4]
test eax, eax
je 0x498fa4
mov dword [0xa18ba0], 1
jmp 0x49aec3
mov eax, dword [0x69ce94]
test eax, eax
jne 0x49ae7f
mov dword [0xa19654], 0xffffffff
mov eax, dword [0x5210a0]
mov edx, dword [0x5210a4]
mov dword [0xa19658], eax
mov dword [0xa1965c], edx
mov dword [0xa19660], 0
jmp 0x499050
mov eax, dword [0xa19660]
shl eax, 5
add eax, 0x682580
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa19658]
mov edx, dword [0xa1965c]
cmp ebx, edx
jg 0x499043
cmp ebx, edx
jl 0x499007
cmp ecx, eax
jae 0x499043
mov eax, dword [0xa19660]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 3
jne 0x499043
mov eax, dword [0xa19660]
shl eax, 5
add eax, 0x682580
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa19658], eax
mov dword [0xa1965c], edx
mov eax, dword [0xa19660]
mov dword [0xa19654], eax
mov eax, dword [0xa19660]
add eax, 1
mov dword [0xa19660], eax
mov eax, dword [0xa19660]
cmp eax, 2
setle al
test al, al
jne 0x498fdd
mov dword [0xa19660], 0
jmp 0x49909a
mov eax, dword [0xa19660]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 1
jne 0x49908d
mov eax, dword [0xa19660]
mov dword [0xa19654], eax
mov eax, dword [0xa19660]
add eax, 1
mov dword [0xa19660], eax
mov eax, dword [0xa19660]
cmp eax, 2
setle al
test al, al
jne 0x49906f
mov eax, dword [0xa19654]
cmp eax, 0xffffffff
jne 0x4990c4
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.0043f747
jmp 0x49aec3
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682580
mov dword [eax], 2
mov ecx, dword [0xa19654]
mov eax, dword [0x5210a0]
mov edx, dword [0x5210a4]
shl ecx, 5
add ecx, 0x682580
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add eax, 1
adc edx, 0
mov dword [0x5210a0], eax
mov dword [0x5210a4], edx
mov eax, dword [0x67db4c]
test eax, eax
je 0x499159
mov dword [esp + 8], 1
fld qword [0x551268]
fstp qword [esp]
call fcn.00460ece
fstp qword [0xa19668]
fld qword [0xa19670]
fld qword [0xa19668]
fsubp st(1)
fabs
fld qword [0x5513f0]
fucompi st(1)
fstp st(0)
ja 0x49ae1e
fld qword [0xa19668]
fstp qword [0xa19670]
mov eax, dword [0x6930d4]
test eax, eax
je 0x49ae21
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa19678], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1967c], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4991e8
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x6826f4]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa19678], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x6826f0]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa1967c], eax
mov eax, dword [0xa19678]
cmp eax, 0x200
jg 0x499218
mov eax, dword [0xa1967c]
cmp eax, 0x180
jg 0x499218
mov eax, dword [0xa19678]
add eax, eax
mov dword [0xa19678], eax
mov eax, dword [0xa1967c]
add eax, eax
mov dword [0xa1967c], eax
mov dword [0xa19680], 0xffffffff
mov dword [0xa19684], 0xffffffff
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa19678], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa1967c], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4992ae
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x6826f4]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa19678], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x6826f0]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa1967c], eax
mov eax, dword [0xa19678]
mov dword [0x6930f4], eax
mov eax, dword [0xa1967c]
mov dword [0x6930f8], eax
mov dword [0xa19688], 0
mov dword [0x6930fc], 0
mov eax, dword [0x6930d8]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x49a45a
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
mov dword [0xa1968c], eax
mov eax, dword [0x6826f4]
mov edx, dword [0xa1968c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa19690], eax
mov eax, dword [0x6826f0]
mov edx, dword [0xa1968c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa19694], eax
mov eax, dword [0x69ce80]
mov dword [0xa19698], eax
mov dword [0xa1969c], 0
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa19660], eax
mov eax, dword [0xa19660]
mov edx, eax
mov eax, dword [0x521560]
cmp edx, eax
je 0x4993a4
mov eax, dword [0x69ce84]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa19660]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x69ce84], eax
mov eax, dword [0xa19660]
mov dword [0x521560], eax
mov dword [0xa19698], 0
mov eax, dword [0x521854]
test eax, eax
jne 0x4993bb
mov eax, dword [0xa19698]
cmp eax, 1
je 0x49ae24
mov eax, dword [0xa19698]
test eax, eax
jne 0x4993e6
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa18c00
call sub.msvcrt.dll_memcpy
jmp 0x499434
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa18c00
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x499434
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa18c00
call sub.msvcrt.dll_memcpy
mov dword [0xa19698], 0
mov eax, dword [0xa19698]
test eax, eax
je 0x49946e
mov ecx, dword [0x521560]
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0x69ce84]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x49946e
mov dword [0xa1969c], 1
mov eax, dword [0x69cd6c]
and eax, 8
test eax, eax
je 0x499486
mov dword [0xa196a0], 1
jmp 0x499490
mov dword [0xa196a0], 0
mov eax, dword [0x69cd6c]
and eax, 8
test eax, eax
je 0x4994a8
mov dword [0xa196a4], 1
jmp 0x4994b2
mov dword [0xa196a4], 0
mov eax, dword [0x67db4c]
test eax, eax
je 0x49957e
mov dword [esp + 8], 1
fld qword [0x551268]
fstp qword [esp]
call fcn.00460ece
fld qword [0x5511f0]
fdivp st(1)
fstp qword [0xa196a8]
fld qword [0xa196a8]
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 [0xa196b0], eax
mov dword [0xa196b4], edx
mov eax, dword [0xa196b0]
mov edx, dword [0xa196b4]
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 0x499541
mov dword [0xa196a0], 1
jmp 0x49954b
mov dword [0xa196a0], 0
mov eax, dword [0xa196b0]
mov edx, dword [0xa196b4]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x499574
mov dword [0xa196a4], 1
jmp 0x49957e
mov dword [0xa196a4], 0
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa196b8], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa196bc], eax
mov eax, dword [0x6930d4]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x4995de
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa196bc]
cmp edx, eax
jle 0x4995de
mov eax, dword [0xa196bc]
add eax, 1
mov dword [0xa196bc], eax
mov dword [0xa196b8], 0
mov eax, dword [0xa19698]
test eax, eax
je 0x499641
mov edx, dword [0xa196a4]
mov eax, dword [0xa196c0]
cmp edx, eax
je 0x499600
mov dword [0xa1969c], 1
mov edx, dword [0xa196a0]
mov eax, dword [0xa196c4]
cmp edx, eax
je 0x499619
mov dword [0xa1969c], 1
mov edx, dword [0xa196b8]
mov eax, dword [0x521874]
cmp edx, eax
jne 0x499637
mov edx, dword [0xa196bc]
mov eax, dword [0x521878]
cmp edx, eax
je 0x499641
mov dword [0xa1969c], 1
mov eax, dword [0xa19698]
test eax, eax
jne 0x499654
mov dword [0xa1969c], 1
mov eax, dword [0xa1969c]
test eax, eax
je 0x49ae27
mov edx, dword [0x6930f4]
mov eax, dword [0x6930f8]
imul eax, edx
shl eax, 2
mov dword [0xa196c8], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 0xc]
mov eax, dword [0xa196c8]
cmp edx, eax
jge 0x4996de
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa19654]
mov eax, dword [0xa196c8]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x682590
mov dword [edx], eax
mov edx, dword [0xa19654]
mov eax, dword [0xa196c8]
shl edx, 5
add edx, 0x682590
mov dword [edx + 0xc], eax
mov edx, dword [0xa19654]
mov eax, dword [0x6930f4]
shl edx, 5
add edx, 0x682590
mov dword [edx + 4], eax
mov edx, dword [0xa19654]
mov eax, dword [0x6930f8]
shl edx, 5
add edx, 0x682590
mov dword [edx + 8], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [0x6930d8], eax
mov eax, dword [0xa19698]
test eax, eax
je 0x49986c
mov dword [0xa196d0], 0
mov dword [0xa196d4], 0
mov dword [0xa196d8], 0xffffffff
mov dword [0xa196dc], 0
jmp 0x4997e1
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 4
je 0x499782
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 3
jne 0x4997d4
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa196d0]
mov edx, dword [0xa196d4]
cmp ebx, edx
jl 0x4997d4
cmp ebx, edx
jg 0x4997ac
cmp ecx, eax
jbe 0x4997d4
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa196d0], eax
mov dword [0xa196d4], edx
mov eax, dword [0xa196dc]
mov dword [0xa196d8], eax
mov eax, dword [0xa196dc]
add eax, 1
mov dword [0xa196dc], eax
mov eax, dword [0xa196dc]
cmp eax, 2
setle al
test al, al
jne 0x49975a
mov eax, dword [0xa196d8]
cmp eax, 0xffffffff
je 0x499856
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 4]
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa196d8]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax]
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x49986c
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.0043f747
mov dword [0xa19698], 0
mov dword [0xa196e0], 0
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x40]
mov dword [0xa196e4], eax
mov eax, dword [0x69ce84]
mov dword [0xa196e8], eax
movzx eax, byte [0xa19650]
test al, al
je 0x49989d
call fcn.00498ec2
mov dword [0xa196ec], 0
mov dword [0xa1967c], 0
jmp 0x49a3e0
mov dword [0xa196f0], 0
mov dword [0xa19678], 0
jmp 0x49a394
mov eax, dword [0xa196e4]
movzx eax, byte [eax]
mov byte [0xa196f4], al
mov eax, dword [0xa196e4]
add eax, 1
mov dword [0xa196e4], eax
mov eax, dword [0xa196e4]
movzx eax, byte [eax]
mov byte [0xa196f5], al
mov eax, dword [0xa196e4]
add eax, 1
mov dword [0xa196e4], eax
mov eax, dword [0xa196e8]
movzx eax, byte [eax]
mov byte [0xa196f6], al
mov eax, dword [0xa196e8]
add eax, 1
mov dword [0xa196e8], eax
mov eax, dword [0xa196e8]
movzx eax, byte [eax]
mov byte [0xa196f7], al
mov eax, dword [0xa196e8]
add eax, 1
mov dword [0xa196e8], eax
mov eax, dword [0xa19698]
test eax, eax
je 0x499a05
movzx edx, byte [0xa196f4]
movzx eax, byte [0xa196f6]
cmp dl, al
jne 0x499a05
movzx edx, byte [0xa196f5]
movzx eax, byte [0xa196f7]
cmp dl, al
jne 0x499a05
movzx eax, byte [0xa196f5]
test al, al
jns 0x49998a
mov edx, dword [0xa196a4]
mov eax, dword [0xa196c0]
cmp edx, eax
jne 0x499a01
mov edx, dword [0xa19678]
mov eax, dword [0xa196b8]
cmp edx, eax
jne 0x4999b7
mov edx, dword [0xa1967c]
mov eax, dword [0xa196bc]
cmp edx, eax
jne 0x4999b7
mov edx, dword [0xa196a0]
mov eax, dword [0xa196c4]
cmp edx, eax
jne 0x499a04
mov edx, dword [0xa19678]
mov eax, dword [0x521874]
cmp edx, eax
jne 0x49a362
mov edx, dword [0xa1967c]
mov eax, dword [0x521878]
cmp edx, eax
jne 0x49a362
mov edx, dword [0xa196b8]
mov eax, dword [0x521874]
cmp edx, eax
jne 0x499a05
mov edx, dword [0xa196bc]
mov eax, dword [0x521878]
cmp edx, eax
je 0x49a362
jmp 0x499a05
nop
jmp 0x499a05
nop
mov eax, dword [0xa196e8]
sub eax, 2
mov dword [0xa196e8], eax
mov eax, dword [0xa196e8]
movzx edx, byte [0xa196f4]
mov byte [eax], dl
mov eax, dword [0xa196e8]
add eax, 1
mov dword [0xa196e8], eax
mov eax, dword [0xa196e8]
movzx edx, byte [0xa196f5]
mov byte [eax], dl
mov eax, dword [0xa196e8]
add eax, 1
mov dword [0xa196e8], eax
mov dword [0xa196f8], 0
mov eax, dword [0xa1968c]
cmp eax, 0x1f
jle 0x499b1e
movzx eax, byte [0xa196f4]
movzx eax, al
movzx eax, word [eax + eax + 0x5210c0]
movzx eax, ax
mov dword [0xa196fc], eax
mov dword [0xa19700], 1
mov eax, dword [0xa19704]
test eax, eax
je 0x499a9a
mov eax, dword [0xa19704]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa19700]
mov eax, dword [0x6826ec]
mov ecx, dword [0xa1968c]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa19718
mov dword [esp + 0x1c], 0xa19714
mov dword [esp + 0x18], 0xa19710
mov dword [esp + 0x14], 0xa1970c
mov dword [esp + 0x10], 0xa19708
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa196fc
mov dword [esp], eax
call fcn.0043ec95
mov dword [0xa1971c], eax
mov eax, dword [0xa19708]
mov dword [0xa19704], eax
mov eax, dword [0xa19708]
mov dword [0xa19720], eax
mov dword [0xa19724], 0
jmp 0x499c12
mov dword [0xa19724], 0
mov eax, dword [0xa1968c]
cmp eax, 8
jne 0x499b49
movzx eax, byte [0xa196f4]
movzx eax, al
shl eax, 6
add eax, 0xa0b6a0
mov dword [0xa19720], eax
mov eax, dword [0xa1968c]
cmp eax, 0xe
jne 0x499b6d
movzx eax, byte [0xa196f4]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa0f6a0
mov dword [0xa19720], eax
mov eax, dword [0xa1968c]
cmp eax, 0x10
jne 0x499b8e
movzx eax, byte [0xa196f4]
movzx eax, al
shl eax, 7
add eax, 0xa0f6a0
mov dword [0xa19720], eax
mov eax, dword [0xa1968c]
cmp eax, 9
jne 0x499bb9
movzx eax, byte [0xa196f4]
movzx eax, al
shl eax, 6
add eax, 0xa0b6a0
mov dword [0xa19720], eax
mov dword [0xa196f8], 1
mov eax, dword [0xa1968c]
cmp eax, 0xf
jne 0x499be7
movzx eax, byte [0xa196f4]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa0f6a0
mov dword [0xa19720], eax
mov dword [0xa196f8], 1
mov eax, dword [0xa1968c]
cmp eax, 0x11
jne 0x499c12
movzx eax, byte [0xa196f4]
movzx eax, al
shl eax, 7
add eax, 0xa0f6a0
mov dword [0xa19720], eax
mov dword [0xa196f8], 1
movzx eax, byte [0xa196f5]
and eax, 0xf
mov byte [0xa19728], al
mov eax, dword [0x521650]
test eax, eax
je 0x499c53
movzx eax, byte [0xa196f5]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa19729], al
movzx eax, byte [0xa196f5]
movzx eax, al
sar eax, 7
mov byte [0xa1972a], al
jmp 0x499c65
movzx eax, byte [0xa196f5]
movzx eax, al
sar eax, 4
mov byte [0xa19729], al
movzx eax, byte [0xa1972a]
test al, al
je 0x499c8e
mov eax, dword [0xa196a4]
test eax, eax
je 0x499c8e
mov eax, dword [0x521650]
test eax, eax
je 0x499c8e
movzx eax, byte [0xa19729]
mov byte [0xa19728], al
movzx eax, byte [0xa19728]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c00]
mov dword [0xa196d8], eax
movzx eax, byte [0xa19729]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c00]
mov dword [0xa196dc], eax
mov eax, dword [0x6930d8]
mov ecx, dword [0xa196ec]
mov edx, dword [0x6930f4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa196e0]
add ecx, edx
mov edx, dword [0xa196f0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1972c], eax
mov edx, dword [0x6930f4]
mov ecx, dword [0x6826f4]
mov eax, dword [0x6930d4]
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 [0xa19688], eax
mov dword [0xa19730], 0
jmp 0x499def
mov dword [0xa19734], 0
jmp 0x499da3
mov eax, dword [0xa19720]
movzx eax, byte [eax]
test al, al
je 0x499d46
mov eax, dword [0xa1972c]
mov edx, dword [0xa196d8]
mov dword [eax], edx
jmp 0x499d53
mov eax, dword [0xa1972c]
mov edx, dword [0xa196dc]
mov dword [eax], edx
mov eax, dword [0xa196f8]
test eax, eax
je 0x499d7c
mov edx, dword [0xa19734]
mov eax, dword [0xa196f8]
and eax, edx
test eax, eax
je 0x499d89
mov eax, dword [0xa19720]
add eax, 1
mov dword [0xa19720], eax
jmp 0x499d89
mov eax, dword [0xa19720]
add eax, 1
mov dword [0xa19720], eax
mov eax, dword [0xa1972c]
add eax, 4
mov dword [0xa1972c], eax
mov eax, dword [0xa19734]
add eax, 1
mov dword [0xa19734], eax
mov edx, dword [0xa19734]
mov eax, dword [0xa19690]
cmp edx, eax
setl al
test al, al
jne 0x499d2b
mov eax, dword [0xa1972c]
mov edx, dword [0xa19688]
shl edx, 2
add eax, edx
mov dword [0xa1972c], eax
mov edx, dword [0xa19720]
mov eax, dword [0xa19724]
add eax, edx
mov dword [0xa19720], eax
mov eax, dword [0xa19730]
add eax, 1
mov dword [0xa19730], eax
mov edx, dword [0xa19730]
mov eax, dword [0xa19694]
cmp edx, eax
setl al
test al, al
jne 0x499d1f
mov eax, dword [0x6930d4]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x49a366
mov eax, dword [0xa196a0]
test eax, eax
je 0x49a366
mov edx, dword [0xa196b8]
mov eax, dword [0xa19678]
cmp edx, eax
jne 0x49a366
mov edx, dword [0xa196bc]
mov eax, dword [0xa1967c]
cmp edx, eax
jne 0x49a366
mov eax, dword [0x6930d4]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa19738], eax
mov eax, dword [0x6930d4]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa1973c], eax
mov byte [0xa19740], 0
mov byte [0xa19741], 0
mov byte [0xa19742], 0
mov byte [0xa19743], 0
mov eax, dword [0xa1973c]
test eax, eax
jne 0x499eab
mov eax, dword [0xa19738]
test eax, eax
jne 0x49a365
mov byte [0xa19742], 1
jmp 0x49a009
mov edx, dword [0xa1973c]
mov eax, dword [0xa19738]
cmp edx, eax
jge 0x499ed0
mov eax, dword [0xa1973c]
mov byte [0xa19743], al
mov byte [0xa19742], 0xff
jmp 0x49a009
mov edx, dword [0xa19738]
mov eax, dword [0xa1973c]
cmp edx, eax
jne 0x499f12
mov eax, dword [0xa19738]
cmp eax, 3
jg 0x499eff
mov eax, dword [0xa19738]
mov byte [0xa19743], al
mov byte [0xa19742], 1
jmp 0x49a009
mov byte [0xa19740], 1
mov byte [0xa19742], 1
jmp 0x49a009
mov eax, dword [0xa19738]
cmp eax, 2
jle 0x499f7a
mov edx, dword [0xa1973c]
mov eax, dword [0xa19738]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x499f45
mov byte [0xa19740], 1
mov byte [0xa19742], 2
jmp 0x49a009
mov edx, dword [0xa1973c]
mov eax, dword [0xa19738]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x499f6e
mov byte [0xa19740], 1
mov byte [0xa19742], 3
jmp 0x49a009
mov byte [0xa19741], 1
jmp 0x49a009
mov eax, dword [0xa19738]
cmp eax, 1
jg 0x499fc7
mov eax, dword [0xa1973c]
cmp eax, 3
jg 0x499fb4
mov eax, dword [0xa19738]
mov byte [0xa19743], al
mov eax, dword [0xa1973c]
mov edx, eax
mov eax, dword [0xa19738]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa19742], al
jmp 0x49a009
mov eax, dword [0xa19738]
mov byte [0xa19743], al
mov byte [0xa19742], 0xff
jmp 0x49a009
mov eax, dword [0xa1973c]
cmp eax, 3
jne 0x499fe1
mov byte [0xa19743], 2
mov byte [0xa19742], 2
jmp 0x49a009
mov eax, dword [0xa1973c]
cmp eax, 4
jne 0x499ffb
mov byte [0xa19740], 1
mov byte [0xa19742], 3
jmp 0x49a009
mov byte [0xa19743], 2
mov byte [0xa19742], 0xff
mov edx, dword [0x6826f4]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa19744], eax
mov edx, dword [0x6826f0]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa19748], eax
movzx eax, byte [0xa19741]
test al, al
je 0x49a140
mov eax, dword [0xa19748]
sub eax, 1
mov dword [0xa19730], eax
mov eax, dword [0xa19748]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa19742], al
movzx eax, byte [0xa196f5]
and eax, 0xf
mov byte [0xa19728], al
movzx eax, byte [0xa19728]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c00]
mov dword [0xa196d8], eax
mov eax, dword [0x6930d8]
mov ecx, dword [0xa196ec]
mov edx, dword [0xa19730]
add ecx, edx
mov edx, dword [0x6930f4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa196e0]
add ecx, edx
mov edx, dword [0xa196f0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1972c], eax
mov dword [0xa19734], 0
jmp 0x49a0fc
mov eax, dword [0xa1972c]
mov edx, dword [0xa196d8]
mov dword [eax], edx
mov eax, dword [0xa1972c]
add eax, 4
mov dword [0xa1972c], eax
mov eax, dword [0xa19734]
add eax, 1
mov dword [0xa19734], eax
mov edx, dword [0xa19734]
mov eax, dword [0xa19744]
cmp edx, eax
setl al
test al, al
jne 0x49a0d5
mov eax, dword [0xa19730]
sub eax, 1
mov dword [0xa19730], eax
movzx eax, byte [0xa19742]
sub eax, 1
mov byte [0xa19742], al
movzx eax, byte [0xa19742]
test al, al
je 0x49a366
jmp 0x49a091
movzx eax, byte [0xa19740]
test al, al
je 0x49a244
mov eax, dword [0xa19748]
sub eax, 1
mov dword [0xa19730], eax
mov eax, dword [0xa19730]
cmp eax, 0xf
jne 0x49a170
mov dword [0xa19730], 0xe
movzx eax, byte [0xa196f5]
and eax, 0xf
mov byte [0xa19728], al
movzx eax, byte [0xa19728]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c00]
mov dword [0xa196d8], eax
mov eax, dword [0x6930d8]
mov ecx, dword [0xa196ec]
mov edx, dword [0xa19730]
add ecx, edx
mov edx, dword [0x6930f4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa196e0]
add ecx, edx
mov edx, dword [0xa196f0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1972c], eax
mov dword [0xa19734], 0
jmp 0x49a200
mov eax, dword [0xa1972c]
mov edx, dword [0xa196d8]
mov dword [eax], edx
mov eax, dword [0xa1972c]
add eax, 4
mov dword [0xa1972c], eax
mov eax, dword [0xa19734]
add eax, 1
mov dword [0xa19734], eax
mov edx, dword [0xa19734]
mov eax, dword [0xa19744]
cmp edx, eax
setl al
test al, al
jne 0x49a1d9
mov eax, dword [0xa19730]
sub eax, 1
mov dword [0xa19730], eax
movzx eax, byte [0xa19742]
sub eax, 1
mov byte [0xa19742], al
movzx eax, byte [0xa19742]
test al, al
je 0x49a366
jmp 0x49a195
movzx eax, byte [0xa19743]
movzx edx, al
mov eax, dword [0xa19748]
cmp edx, eax
jge 0x49a366
movzx eax, byte [0xa19743]
movzx eax, al
mov dword [0xa19730], eax
movzx eax, byte [0xa196f5]
and eax, 0xf
mov byte [0xa19728], al
movzx eax, byte [0xa19728]
movzx eax, al
mov eax, dword [eax*4 + 0xa18c00]
mov dword [0xa196d8], eax
movzx eax, byte [0xa19742]
cmp al, 0xff
jne 0x49a2b6
mov eax, dword [0xa19748]
mov edx, eax
movzx eax, byte [0xa19743]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa19742], al
jmp 0x49a2b6
nop
mov eax, dword [0x6930d8]
mov ecx, dword [0xa196ec]
mov edx, dword [0xa19730]
add ecx, edx
mov edx, dword [0x6930f4]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa196e0]
add ecx, edx
mov edx, dword [0xa196f0]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa1972c], eax
mov dword [0xa19734], 0
jmp 0x49a321
mov eax, dword [0xa1972c]
mov edx, dword [0xa196d8]
mov dword [eax], edx
mov eax, dword [0xa1972c]
add eax, 4
mov dword [0xa1972c], eax
mov eax, dword [0xa19734]
add eax, 1
mov dword [0xa19734], eax
mov edx, dword [0xa19734]
mov eax, dword [0xa19744]
cmp edx, eax
setl al
test al, al
jne 0x49a2fa
mov eax, dword [0xa19730]
add eax, 1
mov dword [0xa19730], eax
movzx eax, byte [0xa19742]
sub eax, 1
mov byte [0xa19742], al
movzx eax, byte [0xa19742]
test al, al
jne 0x49a2b5
jmp 0x49a366
nop
jmp 0x49a366
nop
mov edx, dword [0x6826f4]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa196f0]
add eax, edx
mov dword [0xa196f0], eax
mov eax, dword [0xa19678]
add eax, 1
mov dword [0xa19678], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa19678]
cmp edx, eax
setg al
test al, al
jne 0x4998cf
mov edx, dword [0x6826f0]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa196ec]
add eax, edx
mov dword [0xa196ec], eax
mov eax, dword [0xa1967c]
add eax, 1
mov dword [0xa1967c], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa1967c]
cmp edx, eax
setg al
test al, al
jne 0x4998b6
mov eax, dword [0xa196a4]
mov dword [0xa196c0], eax
mov eax, dword [0xa196a0]
mov dword [0xa196c4], eax
mov eax, dword [0xa196b8]
mov dword [0x521874], eax
mov eax, dword [0xa196bc]
mov dword [0x521878], eax
mov dword [0x69ce80], 1
movzx eax, byte [0xa19650]
test al, al
je 0x49a440
call fcn.00498ec2
mov eax, dword [0xa19654]
mov edx, eax
sar edx, 0x1f
mov dword [0xa19750], eax
mov dword [0xa19754], edx
jmp 0x49ac35
mov eax, dword [0x6930d4]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x49a8b4
movzx eax, byte [0xa19650]
test al, al
jne 0x49a60b
mov dword [0xa19758], 0
mov dword [0xa1975c], 0
mov dword [0xa196d8], 0xffffffff
mov dword [0xa196dc], 0
jmp 0x49a52e
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 4
je 0x49a4cf
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 3
jne 0x49a521
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa19758]
mov edx, dword [0xa1975c]
cmp ebx, edx
jl 0x49a521
cmp ebx, edx
jg 0x49a4f9
cmp ecx, eax
jbe 0x49a521
mov eax, dword [0xa196dc]
shl eax, 5
add eax, 0x682580
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa19758], eax
mov dword [0xa1975c], edx
mov eax, dword [0xa196dc]
mov dword [0xa196d8], eax
mov eax, dword [0xa196dc]
add eax, 1
mov dword [0xa196dc], eax
mov eax, dword [0xa196dc]
cmp eax, 2
setle al
test al, al
jne 0x49a4a7
mov eax, dword [0x6824fc]
test eax, eax
jne 0x49a6df
mov eax, dword [0xa196d8]
cmp eax, 0xffffffff
je 0x49a6e6
mov eax, dword [0x69ce80]
test eax, eax
je 0x49a6e2
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa19660], eax
mov eax, dword [0xa196d8]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 4]
mov eax, dword [0xa196d8]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa19660]
cmp edx, eax
jne 0x49a6e5
mov eax, dword [0x521854]
test eax, eax
je 0x49ae2a
mov eax, dword [0xa19660]
mov ecx, eax
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa196d8]
shl eax, 5
add eax, 0x682590
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 0x49ae2d
jmp 0x49a6e6
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa19660], eax
mov edx, dword [0xa19660]
mov eax, dword [0x52186c]
cmp edx, eax
je 0x49a668
mov eax, dword [0xa18bf4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa19660]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa18bf4], eax
mov eax, dword [0xa19660]
mov dword [0x52186c], eax
jmp 0x49a6b9
mov eax, dword [0x6824fc]
test eax, eax
jne 0x49a6b5
mov eax, dword [0x521854]
test eax, eax
je 0x49ae30
mov eax, dword [0xa19660]
mov ecx, eax
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18bf4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x49a6b8
mov eax, dword [0x69ce80]
test eax, eax
jne 0x49ae33
jmp 0x49a6b9
nop
jmp 0x49a6b9
nop
mov eax, dword [0xa19660]
mov ecx, eax
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18bf4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x49a6e6
nop
jmp 0x49a6e6
nop
jmp 0x49a6e6
nop
mov edx, dword [0x6930f4]
mov eax, dword [0x6930f8]
imul eax, edx
shl eax, 2
mov dword [0xa19760], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 0xc]
mov eax, dword [0xa19760]
cmp edx, eax
jge 0x49a763
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa19654]
mov eax, dword [0xa19760]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x682590
mov dword [edx], eax
mov edx, dword [0xa19654]
mov eax, dword [0xa19760]
shl edx, 5
add edx, 0x682590
mov dword [edx + 0xc], eax
mov edx, dword [0xa19654]
mov eax, dword [0x6930f4]
shl edx, 5
add edx, 0x682590
mov dword [edx + 4], eax
mov edx, dword [0xa19654]
mov eax, dword [0x6930f8]
shl edx, 5
add edx, 0x682590
mov dword [edx + 8], eax
movzx eax, byte [0xa19650]
test al, al
jne 0x49a7f0
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 4]
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x49ac31
mov eax, dword [0xa18bf4]
mov dword [0xa19764], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [0xa19768], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 4]
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa1976c], eax
mov eax, dword [0xa1976c]
test eax, eax
jle 0x49ac31
jmp 0x49a899
mov eax, dword [0xa19764]
mov edx, dword [eax]
mov dword [0xa19770], edx
add eax, 4
mov dword [0xa19764], eax
mov eax, dword [0xa19768]
mov edx, dword [0xa19770]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa19770]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa19770]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa19768], eax
mov eax, dword [0xa1976c]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa1976c], eax
test dl, dl
jne 0x49a845
jmp 0x49ac31
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x49a955
call fcn.0043ecc3
and eax, 0x200
mov dword [0xa196d8], eax
mov eax, dword [0xa196d8]
test eax, eax
je 0x49a8e9
mov dword [0xa196d8], 1
mov dword [0xa19660], 0
jmp 0x49a946
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa19660]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa196d8]
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa19660]
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 + 0xa0b640]
mov dword [ecx], eax
mov eax, dword [0xa19660]
add eax, 1
mov dword [0xa19660], eax
mov eax, dword [0xa19660]
cmp eax, 3
setle al
test al, al
jne 0x49a8f5
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa19660], eax
mov eax, dword [0x6930d4]
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 [0xa196d8], eax
mov edx, dword [0xa19660]
mov eax, dword [0x52186c]
cmp edx, eax
je 0x49a9cd
mov eax, dword [0xa18bf4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa19660]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa18bf4], eax
mov eax, dword [0xa19660]
mov dword [0x52186c], eax
jmp 0x49aa4b
mov eax, dword [0x6824fc]
test eax, eax
jne 0x49aa44
mov eax, dword [0x521854]
test eax, eax
je 0x49ae36
mov eax, dword [0xa19660]
mov ecx, eax
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18bf4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x49aa47
mov eax, dword [0xa196d8]
shl eax, 2
mov edx, eax
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa18c00
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x49aa4a
mov eax, dword [0x69ce80]
test eax, eax
jne 0x49ae39
jmp 0x49aa4b
nop
jmp 0x49aa4b
nop
jmp 0x49aa4b
nop
mov edx, dword [0x6930f4]
mov eax, dword [0x6930f8]
imul eax, edx
shl eax, 2
mov dword [0xa19774], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax + 0xc]
mov eax, dword [0xa19774]
cmp edx, eax
jge 0x49aac8
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa19654]
mov eax, dword [0xa19774]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x682590
mov dword [edx], eax
mov edx, dword [0xa19654]
mov eax, dword [0xa19774]
shl edx, 5
add edx, 0x682590
mov dword [edx + 0xc], eax
mov edx, dword [0xa19654]
mov eax, dword [0x6930f4]
shl edx, 5
add edx, 0x682590
mov dword [edx + 4], eax
mov edx, dword [0xa19654]
mov eax, dword [0x6930f8]
shl edx, 5
add edx, 0x682590
mov dword [edx + 8], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax]
mov dword [0x6930d8], eax
mov eax, dword [0xa19660]
mov ecx, eax
mov eax, dword [0x6930d4]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa18bf4]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa196d8]
shl eax, 2
mov edx, eax
mov eax, dword [0x6930d4]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa18c00
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa19650]
test al, al
je 0x49ab64
call fcn.00498ec2
mov eax, dword [0xa18bf4]
mov dword [0xa19778], eax
mov eax, dword [0x6930d8]
mov dword [0xa1977c], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa196f0], eax
mov eax, dword [0x6930d4]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa196ec], eax
mov dword [0xa1967c], 0
jmp 0x49ac0b
mov dword [0xa19678], 0
jmp 0x49abea
mov edx, dword [0xa1977c]
mov eax, dword [0xa19778]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa18c00]
mov dword [edx], ecx
add edx, 4
mov dword [0xa1977c], edx
add eax, 1
mov dword [0xa19778], eax
mov eax, dword [0xa19678]
add eax, 1
mov dword [0xa19678], eax
mov edx, dword [0xa19678]
mov eax, dword [0xa196f0]
cmp edx, eax
setl al
test al, al
jne 0x49abb2
mov eax, dword [0xa1967c]
add eax, 1
mov dword [0xa1967c], eax
mov edx, dword [0xa1967c]
mov eax, dword [0xa196ec]
cmp edx, eax
setl al
test al, al
jne 0x49aba6
movzx eax, byte [0xa19650]
test al, al
je 0x49ac34
call fcn.00498ec2
jmp 0x49ac34
nop
jmp 0x49ac35
nop
mov dword [0x6824fc], 0
mov dword [0x69ce80], 1
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682580
mov dword [eax], 3
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682580
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x6825e8], eax
mov dword [0x6825ec], edx
mov eax, dword [0x67db4c]
test eax, eax
je 0x49ae3a
mov eax, dword [0x682660]
test eax, eax
je 0x49ae3a
mov eax, dword [0xa19780]
test eax, eax
jne 0x49ace3
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 [0xa19780], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax + 4]
mov dword [0xa19784], eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov eax, dword [eax + 8]
mov dword [0xa19788], eax
mov eax, dword [0xa1978c]
add eax, 1
mov dword [0xa1978c], eax
mov eax, dword [0xa1978c]
mov dword [0xa19790], eax
mov eax, dword [0xa19784]
mov dword [0xa19794], eax
mov eax, dword [0xa19788]
mov dword [0xa19798], eax
mov eax, dword [0xa19780]
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 [0xa19784]
mov eax, dword [0xa19788]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682590
mov edx, dword [eax]
mov eax, dword [0xa19780]
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 [0xa19780]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa19780]
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 [0xa19780]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa19790
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
jmp 0x49ae3a
nop
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682580
mov eax, dword [eax]
cmp eax, 2
jne 0x49ae7f
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682580
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x6825e8], eax
mov dword [0x6825ec], edx
mov eax, dword [0xa19654]
shl eax, 5
add eax, 0x682580
mov dword [eax], 1
mov eax, dword [0x69ce94]
cmp eax, 1
jne 0x49aea4
mov dword [0x69ce94], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x5212d8]
cmp eax, 0xffffffff
jne 0x49aeb8
mov dword [0x5212d8], 0
mov dword [0xa18ba0], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret