Function at 0x4d2066
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6c
mov byte [0xa530d0], 0
mov eax, dword [0x6b6b4c]
test eax, eax
je 0x4d2086
mov byte [0xa530d0], 1
mov eax, dword [0x6d6914]
cmp eax, 1
jne 0x4d20ab
mov dword [0x6d6914], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x6b6b4c]
test eax, eax
jne 0x4d20cc
mov eax, dword [0x6bc164]
test eax, eax
je 0x4d20cc
mov dword [0xa52620], 1
jmp 0x4d3feb
mov eax, dword [0x6d6914]
test eax, eax
jne 0x4d3fa7
mov dword [0xa530d4], 0xffffffff
mov eax, dword [0x55a0a0]
mov edx, dword [0x55a0a4]
mov dword [0xa530d8], eax
mov dword [0xa530dc], edx
mov dword [0xa530e0], 0
jmp 0x4d2178
mov eax, dword [0xa530e0]
shl eax, 5
add eax, 0x6bc000
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa530d8]
mov edx, dword [0xa530dc]
cmp ebx, edx
jg 0x4d216b
cmp ebx, edx
jl 0x4d212f
cmp ecx, eax
jae 0x4d216b
mov eax, dword [0xa530e0]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 3
jne 0x4d216b
mov eax, dword [0xa530e0]
shl eax, 5
add eax, 0x6bc000
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa530d8], eax
mov dword [0xa530dc], edx
mov eax, dword [0xa530e0]
mov dword [0xa530d4], eax
mov eax, dword [0xa530e0]
add eax, 1
mov dword [0xa530e0], eax
mov eax, dword [0xa530e0]
cmp eax, 2
setle al
test al, al
jne 0x4d2105
mov dword [0xa530e0], 0
jmp 0x4d21c2
mov eax, dword [0xa530e0]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 1
jne 0x4d21b5
mov eax, dword [0xa530e0]
mov dword [0xa530d4], eax
mov eax, dword [0xa530e0]
add eax, 1
mov dword [0xa530e0], eax
mov eax, dword [0xa530e0]
cmp eax, 2
setle al
test al, al
jne 0x4d2197
mov eax, dword [0xa530d4]
cmp eax, 0xffffffff
jne 0x4d21ec
mov dword [esp], str.Software_frame_buffer:_Failed_to_find_available_frame
call fcn.0047886f
jmp 0x4d3feb
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc000
mov dword [eax], 2
mov ecx, dword [0xa530d4]
mov eax, dword [0x55a0a0]
mov edx, dword [0x55a0a4]
shl ecx, 5
add ecx, 0x6bc000
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
add eax, 1
adc edx, 0
mov dword [0x55a0a0], eax
mov dword [0x55a0a4], edx
mov eax, dword [0x6b6b4c]
test eax, eax
je 0x4d2281
mov dword [esp + 8], 1
fld qword [0x589fc8]
fstp qword [esp]
call fcn.00499ff6
fstp qword [0xa530e8]
fld qword [0xa530f0]
fld qword [0xa530e8]
fsubp st(1)
fabs
fld qword [0x58a150]
fucompi st(1)
fstp st(0)
ja 0x4d3f46
fld qword [0xa530e8]
fstp qword [0xa530f0]
mov eax, dword [0x6ccb54]
test eax, eax
je 0x4d3f49
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa530f8], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa530fc], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4d2310
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x6bc174]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa530f8], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x6bc170]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa530fc], eax
mov eax, dword [0xa530f8]
cmp eax, 0x200
jg 0x4d2340
mov eax, dword [0xa530fc]
cmp eax, 0x180
jg 0x4d2340
mov eax, dword [0xa530f8]
add eax, eax
mov dword [0xa530f8], eax
mov eax, dword [0xa530fc]
add eax, eax
mov dword [0xa530fc], eax
mov dword [0xa53100], 0xffffffff
mov dword [0xa53104], 0xffffffff
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa530f8], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa530fc], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4d23d6
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov ecx, dword [0x6bc174]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa530f8], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov ecx, dword [0x6bc170]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, ecx
mov eax, dword [eax]
imul eax, edx
mov dword [0xa530fc], eax
mov eax, dword [0xa530f8]
mov dword [0x6ccb74], eax
mov eax, dword [0xa530fc]
mov dword [0x6ccb78], eax
mov dword [0xa53108], 0
mov dword [0x6ccb7c], 0
mov eax, dword [0x6ccb58]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x20]
test ax, ax
jne 0x4d3582
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
mov dword [0xa5310c], eax
mov eax, dword [0x6bc174]
mov edx, dword [0xa5310c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa53110], eax
mov eax, dword [0x6bc170]
mov edx, dword [0xa5310c]
shl edx, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa53114], eax
mov eax, dword [0x6d6900]
mov dword [0xa53118], eax
mov dword [0xa5311c], 0
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
add eax, eax
mov dword [0xa530e0], eax
mov eax, dword [0xa530e0]
mov edx, eax
mov eax, dword [0x55a560]
cmp edx, eax
je 0x4d24cc
mov eax, dword [0x6d6904]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa530e0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0x6d6904], eax
mov eax, dword [0xa530e0]
mov dword [0x55a560], eax
mov dword [0xa53118], 0
mov eax, dword [0x55a854]
test eax, eax
jne 0x4d24e3
mov eax, dword [0xa53118]
cmp eax, 1
je 0x4d3f4c
mov eax, dword [0xa53118]
test eax, eax
jne 0x4d250e
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa52680
call sub.msvcrt.dll_memcpy
jmp 0x4d255c
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa52680
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4d255c
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], 0x400
mov dword [esp + 4], eax
mov dword [esp], 0xa52680
call sub.msvcrt.dll_memcpy
mov dword [0xa53118], 0
mov eax, dword [0xa53118]
test eax, eax
je 0x4d2596
mov ecx, dword [0x55a560]
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0x6d6904]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x4d2596
mov dword [0xa5311c], 1
mov eax, dword [0x6d67ec]
and eax, 8
test eax, eax
je 0x4d25ae
mov dword [0xa53120], 1
jmp 0x4d25b8
mov dword [0xa53120], 0
mov eax, dword [0x6d67ec]
and eax, 8
test eax, eax
je 0x4d25d0
mov dword [0xa53124], 1
jmp 0x4d25da
mov dword [0xa53124], 0
mov eax, dword [0x6b6b4c]
test eax, eax
je 0x4d26a6
mov dword [esp + 8], 1
fld qword [0x589fc8]
fstp qword [esp]
call fcn.00499ff6
fld qword [0x589f50]
fdivp st(1)
fstp qword [0xa53128]
fld qword [0xa53128]
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 [0xa53130], eax
mov dword [0xa53134], edx
mov eax, dword [0xa53130]
mov edx, dword [0xa53134]
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 0x4d2669
mov dword [0xa53120], 1
jmp 0x4d2673
mov dword [0xa53120], 0
mov eax, dword [0xa53130]
mov edx, dword [0xa53134]
mov esi, eax
and esi, 1
mov edi, edx
and edi, 0
mov eax, edi
or eax, esi
test eax, eax
je 0x4d269c
mov dword [0xa53124], 1
jmp 0x4d26a6
mov dword [0xa53124], 0
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x38]
cwde
sub eax, 1
mov dword [0xa53138], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x3a]
cwde
sub eax, 1
mov dword [0xa5313c], eax
mov eax, dword [0x6ccb54]
movzx eax, byte [eax + 0x51]
cmp al, 2
jne 0x4d2706
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
lea edx, [eax - 1]
mov eax, dword [0xa5313c]
cmp edx, eax
jle 0x4d2706
mov eax, dword [0xa5313c]
add eax, 1
mov dword [0xa5313c], eax
mov dword [0xa53138], 0
mov eax, dword [0xa53118]
test eax, eax
je 0x4d2769
mov edx, dword [0xa53124]
mov eax, dword [0xa53140]
cmp edx, eax
je 0x4d2728
mov dword [0xa5311c], 1
mov edx, dword [0xa53120]
mov eax, dword [0xa53144]
cmp edx, eax
je 0x4d2741
mov dword [0xa5311c], 1
mov edx, dword [0xa53138]
mov eax, dword [0x55a874]
cmp edx, eax
jne 0x4d275f
mov edx, dword [0xa5313c]
mov eax, dword [0x55a878]
cmp edx, eax
je 0x4d2769
mov dword [0xa5311c], 1
mov eax, dword [0xa53118]
test eax, eax
jne 0x4d277c
mov dword [0xa5311c], 1
mov eax, dword [0xa5311c]
test eax, eax
je 0x4d3f4f
mov edx, dword [0x6ccb74]
mov eax, dword [0x6ccb78]
imul eax, edx
shl eax, 2
mov dword [0xa53148], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 0xc]
mov eax, dword [0xa53148]
cmp edx, eax
jge 0x4d2806
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa530d4]
mov eax, dword [0xa53148]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x6bc010
mov dword [edx], eax
mov edx, dword [0xa530d4]
mov eax, dword [0xa53148]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 0xc], eax
mov edx, dword [0xa530d4]
mov eax, dword [0x6ccb74]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 4], eax
mov edx, dword [0xa530d4]
mov eax, dword [0x6ccb78]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 8], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [0x6ccb58], eax
mov eax, dword [0xa53118]
test eax, eax
je 0x4d2994
mov dword [0xa53150], 0
mov dword [0xa53154], 0
mov dword [0xa53158], 0xffffffff
mov dword [0xa5315c], 0
jmp 0x4d2909
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 4
je 0x4d28aa
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 3
jne 0x4d28fc
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa53150]
mov edx, dword [0xa53154]
cmp ebx, edx
jl 0x4d28fc
cmp ebx, edx
jg 0x4d28d4
cmp ecx, eax
jbe 0x4d28fc
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa53150], eax
mov dword [0xa53154], edx
mov eax, dword [0xa5315c]
mov dword [0xa53158], eax
mov eax, dword [0xa5315c]
add eax, 1
mov dword [0xa5315c], eax
mov eax, dword [0xa5315c]
cmp eax, 2
setle al
test al, al
jne 0x4d2882
mov eax, dword [0xa53158]
cmp eax, 0xffffffff
je 0x4d297e
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 4]
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa53158]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax]
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4d2994
mov dword [esp], str.Text_Screen_Update:_Failed_to_locate_previous_frames_data_for_comparison
call fcn.0047886f
mov dword [0xa53118], 0
mov dword [0xa53160], 0
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x40]
mov dword [0xa53164], eax
mov eax, dword [0x6d6904]
mov dword [0xa53168], eax
movzx eax, byte [0xa530d0]
test al, al
je 0x4d29c5
call fcn.004d1fea
mov dword [0xa5316c], 0
mov dword [0xa530fc], 0
jmp 0x4d3508
mov dword [0xa53170], 0
mov dword [0xa530f8], 0
jmp 0x4d34bc
mov eax, dword [0xa53164]
movzx eax, byte [eax]
mov byte [0xa53174], al
mov eax, dword [0xa53164]
add eax, 1
mov dword [0xa53164], eax
mov eax, dword [0xa53164]
movzx eax, byte [eax]
mov byte [0xa53175], al
mov eax, dword [0xa53164]
add eax, 1
mov dword [0xa53164], eax
mov eax, dword [0xa53168]
movzx eax, byte [eax]
mov byte [0xa53176], al
mov eax, dword [0xa53168]
add eax, 1
mov dword [0xa53168], eax
mov eax, dword [0xa53168]
movzx eax, byte [eax]
mov byte [0xa53177], al
mov eax, dword [0xa53168]
add eax, 1
mov dword [0xa53168], eax
mov eax, dword [0xa53118]
test eax, eax
je 0x4d2b2d
movzx edx, byte [0xa53174]
movzx eax, byte [0xa53176]
cmp dl, al
jne 0x4d2b2d
movzx edx, byte [0xa53175]
movzx eax, byte [0xa53177]
cmp dl, al
jne 0x4d2b2d
movzx eax, byte [0xa53175]
test al, al
jns 0x4d2ab2
mov edx, dword [0xa53124]
mov eax, dword [0xa53140]
cmp edx, eax
jne 0x4d2b29
mov edx, dword [0xa530f8]
mov eax, dword [0xa53138]
cmp edx, eax
jne 0x4d2adf
mov edx, dword [0xa530fc]
mov eax, dword [0xa5313c]
cmp edx, eax
jne 0x4d2adf
mov edx, dword [0xa53120]
mov eax, dword [0xa53144]
cmp edx, eax
jne 0x4d2b2c
mov edx, dword [0xa530f8]
mov eax, dword [0x55a874]
cmp edx, eax
jne 0x4d348a
mov edx, dword [0xa530fc]
mov eax, dword [0x55a878]
cmp edx, eax
jne 0x4d348a
mov edx, dword [0xa53138]
mov eax, dword [0x55a874]
cmp edx, eax
jne 0x4d2b2d
mov edx, dword [0xa5313c]
mov eax, dword [0x55a878]
cmp edx, eax
je 0x4d348a
jmp 0x4d2b2d
nop
jmp 0x4d2b2d
nop
mov eax, dword [0xa53168]
sub eax, 2
mov dword [0xa53168], eax
mov eax, dword [0xa53168]
movzx edx, byte [0xa53174]
mov byte [eax], dl
mov eax, dword [0xa53168]
add eax, 1
mov dword [0xa53168], eax
mov eax, dword [0xa53168]
movzx edx, byte [0xa53175]
mov byte [eax], dl
mov eax, dword [0xa53168]
add eax, 1
mov dword [0xa53168], eax
mov dword [0xa53178], 0
mov eax, dword [0xa5310c]
cmp eax, 0x1f
jle 0x4d2c46
movzx eax, byte [0xa53174]
movzx eax, al
movzx eax, word [eax + eax + 0x55a0c0]
movzx eax, ax
mov dword [0xa5317c], eax
mov dword [0xa53180], 1
mov eax, dword [0xa53184]
test eax, eax
je 0x4d2bc2
mov eax, dword [0xa53184]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov edx, dword [0xa53180]
mov eax, dword [0x6bc16c]
mov ecx, dword [0xa5310c]
shl ecx, 2
add eax, ecx
mov eax, dword [eax]
mov dword [esp + 0x20], 0xa53198
mov dword [esp + 0x1c], 0xa53194
mov dword [esp + 0x18], 0xa53190
mov dword [esp + 0x14], 0xa5318c
mov dword [esp + 0x10], 0xa53188
mov dword [esp + 0xc], edx
mov dword [esp + 8], 1
mov dword [esp + 4], 0xa5317c
mov dword [esp], eax
call fcn.00477dbd
mov dword [0xa5319c], eax
mov eax, dword [0xa53188]
mov dword [0xa53184], eax
mov eax, dword [0xa53188]
mov dword [0xa531a0], eax
mov dword [0xa531a4], 0
jmp 0x4d2d3a
mov dword [0xa531a4], 0
mov eax, dword [0xa5310c]
cmp eax, 8
jne 0x4d2c71
movzx eax, byte [0xa53174]
movzx eax, al
shl eax, 6
add eax, 0xa45120
mov dword [0xa531a0], eax
mov eax, dword [0xa5310c]
cmp eax, 0xe
jne 0x4d2c95
movzx eax, byte [0xa53174]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa49120
mov dword [0xa531a0], eax
mov eax, dword [0xa5310c]
cmp eax, 0x10
jne 0x4d2cb6
movzx eax, byte [0xa53174]
movzx eax, al
shl eax, 7
add eax, 0xa49120
mov dword [0xa531a0], eax
mov eax, dword [0xa5310c]
cmp eax, 9
jne 0x4d2ce1
movzx eax, byte [0xa53174]
movzx eax, al
shl eax, 6
add eax, 0xa45120
mov dword [0xa531a0], eax
mov dword [0xa53178], 1
mov eax, dword [0xa5310c]
cmp eax, 0xf
jne 0x4d2d0f
movzx eax, byte [0xa53174]
movzx eax, al
shl eax, 7
add eax, 8
add eax, 0xa49120
mov dword [0xa531a0], eax
mov dword [0xa53178], 1
mov eax, dword [0xa5310c]
cmp eax, 0x11
jne 0x4d2d3a
movzx eax, byte [0xa53174]
movzx eax, al
shl eax, 7
add eax, 0xa49120
mov dword [0xa531a0], eax
mov dword [0xa53178], 1
movzx eax, byte [0xa53175]
and eax, 0xf
mov byte [0xa531a8], al
mov eax, dword [0x55a650]
test eax, eax
je 0x4d2d7b
movzx eax, byte [0xa53175]
movzx eax, al
sar eax, 4
and eax, 7
mov byte [0xa531a9], al
movzx eax, byte [0xa53175]
movzx eax, al
sar eax, 7
mov byte [0xa531aa], al
jmp 0x4d2d8d
movzx eax, byte [0xa53175]
movzx eax, al
sar eax, 4
mov byte [0xa531a9], al
movzx eax, byte [0xa531aa]
test al, al
je 0x4d2db6
mov eax, dword [0xa53124]
test eax, eax
je 0x4d2db6
mov eax, dword [0x55a650]
test eax, eax
je 0x4d2db6
movzx eax, byte [0xa531a9]
mov byte [0xa531a8], al
movzx eax, byte [0xa531a8]
movzx eax, al
mov eax, dword [eax*4 + 0xa52680]
mov dword [0xa53158], eax
movzx eax, byte [0xa531a9]
movzx eax, al
mov eax, dword [eax*4 + 0xa52680]
mov dword [0xa5315c], eax
mov eax, dword [0x6ccb58]
mov ecx, dword [0xa5316c]
mov edx, dword [0x6ccb74]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa53160]
add ecx, edx
mov edx, dword [0xa53170]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa531ac], eax
mov edx, dword [0x6ccb74]
mov ecx, dword [0x6bc174]
mov eax, dword [0x6ccb54]
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 [0xa53108], eax
mov dword [0xa531b0], 0
jmp 0x4d2f17
mov dword [0xa531b4], 0
jmp 0x4d2ecb
mov eax, dword [0xa531a0]
movzx eax, byte [eax]
test al, al
je 0x4d2e6e
mov eax, dword [0xa531ac]
mov edx, dword [0xa53158]
mov dword [eax], edx
jmp 0x4d2e7b
mov eax, dword [0xa531ac]
mov edx, dword [0xa5315c]
mov dword [eax], edx
mov eax, dword [0xa53178]
test eax, eax
je 0x4d2ea4
mov edx, dword [0xa531b4]
mov eax, dword [0xa53178]
and eax, edx
test eax, eax
je 0x4d2eb1
mov eax, dword [0xa531a0]
add eax, 1
mov dword [0xa531a0], eax
jmp 0x4d2eb1
mov eax, dword [0xa531a0]
add eax, 1
mov dword [0xa531a0], eax
mov eax, dword [0xa531ac]
add eax, 4
mov dword [0xa531ac], eax
mov eax, dword [0xa531b4]
add eax, 1
mov dword [0xa531b4], eax
mov edx, dword [0xa531b4]
mov eax, dword [0xa53110]
cmp edx, eax
setl al
test al, al
jne 0x4d2e53
mov eax, dword [0xa531ac]
mov edx, dword [0xa53108]
shl edx, 2
add eax, edx
mov dword [0xa531ac], eax
mov edx, dword [0xa531a0]
mov eax, dword [0xa531a4]
add eax, edx
mov dword [0xa531a0], eax
mov eax, dword [0xa531b0]
add eax, 1
mov dword [0xa531b0], eax
mov edx, dword [0xa531b0]
mov eax, dword [0xa53114]
cmp edx, eax
setl al
test al, al
jne 0x4d2e47
mov eax, dword [0x6ccb54]
movzx eax, byte [eax + 0x3c]
test al, al
je 0x4d348e
mov eax, dword [0xa53120]
test eax, eax
je 0x4d348e
mov edx, dword [0xa53138]
mov eax, dword [0xa530f8]
cmp edx, eax
jne 0x4d348e
mov edx, dword [0xa5313c]
mov eax, dword [0xa530fc]
cmp edx, eax
jne 0x4d348e
mov eax, dword [0x6ccb54]
movzx eax, byte [eax + 0x3d]
movzx eax, al
mov dword [0xa531b8], eax
mov eax, dword [0x6ccb54]
movzx eax, byte [eax + 0x3e]
movzx eax, al
mov dword [0xa531bc], eax
mov byte [0xa531c0], 0
mov byte [0xa531c1], 0
mov byte [0xa531c2], 0
mov byte [0xa531c3], 0
mov eax, dword [0xa531bc]
test eax, eax
jne 0x4d2fd3
mov eax, dword [0xa531b8]
test eax, eax
jne 0x4d348d
mov byte [0xa531c2], 1
jmp 0x4d3131
mov edx, dword [0xa531bc]
mov eax, dword [0xa531b8]
cmp edx, eax
jge 0x4d2ff8
mov eax, dword [0xa531bc]
mov byte [0xa531c3], al
mov byte [0xa531c2], 0xff
jmp 0x4d3131
mov edx, dword [0xa531b8]
mov eax, dword [0xa531bc]
cmp edx, eax
jne 0x4d303a
mov eax, dword [0xa531b8]
cmp eax, 3
jg 0x4d3027
mov eax, dword [0xa531b8]
mov byte [0xa531c3], al
mov byte [0xa531c2], 1
jmp 0x4d3131
mov byte [0xa531c0], 1
mov byte [0xa531c2], 1
jmp 0x4d3131
mov eax, dword [0xa531b8]
cmp eax, 2
jle 0x4d30a2
mov edx, dword [0xa531bc]
mov eax, dword [0xa531b8]
mov ebx, edx
sub ebx, eax
mov eax, ebx
cmp eax, 1
jne 0x4d306d
mov byte [0xa531c0], 1
mov byte [0xa531c2], 2
jmp 0x4d3131
mov edx, dword [0xa531bc]
mov eax, dword [0xa531b8]
mov ecx, edx
sub ecx, eax
mov eax, ecx
cmp eax, 2
jne 0x4d3096
mov byte [0xa531c0], 1
mov byte [0xa531c2], 3
jmp 0x4d3131
mov byte [0xa531c1], 1
jmp 0x4d3131
mov eax, dword [0xa531b8]
cmp eax, 1
jg 0x4d30ef
mov eax, dword [0xa531bc]
cmp eax, 3
jg 0x4d30dc
mov eax, dword [0xa531b8]
mov byte [0xa531c3], al
mov eax, dword [0xa531bc]
mov edx, eax
mov eax, dword [0xa531b8]
mov ebx, edx
sub ebx, eax
mov eax, ebx
add eax, 1
mov byte [0xa531c2], al
jmp 0x4d3131
mov eax, dword [0xa531b8]
mov byte [0xa531c3], al
mov byte [0xa531c2], 0xff
jmp 0x4d3131
mov eax, dword [0xa531bc]
cmp eax, 3
jne 0x4d3109
mov byte [0xa531c3], 2
mov byte [0xa531c2], 2
jmp 0x4d3131
mov eax, dword [0xa531bc]
cmp eax, 4
jne 0x4d3123
mov byte [0xa531c0], 1
mov byte [0xa531c2], 3
jmp 0x4d3131
mov byte [0xa531c3], 2
mov byte [0xa531c2], 0xff
mov edx, dword [0x6bc174]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa531c4], eax
mov edx, dword [0x6bc170]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov eax, dword [eax]
mov dword [0xa531c8], eax
movzx eax, byte [0xa531c1]
test al, al
je 0x4d3268
mov eax, dword [0xa531c8]
sub eax, 1
mov dword [0xa531b0], eax
mov eax, dword [0xa531c8]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
mov byte [0xa531c2], al
movzx eax, byte [0xa53175]
and eax, 0xf
mov byte [0xa531a8], al
movzx eax, byte [0xa531a8]
movzx eax, al
mov eax, dword [eax*4 + 0xa52680]
mov dword [0xa53158], eax
mov eax, dword [0x6ccb58]
mov ecx, dword [0xa5316c]
mov edx, dword [0xa531b0]
add ecx, edx
mov edx, dword [0x6ccb74]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa53160]
add ecx, edx
mov edx, dword [0xa53170]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa531ac], eax
mov dword [0xa531b4], 0
jmp 0x4d3224
mov eax, dword [0xa531ac]
mov edx, dword [0xa53158]
mov dword [eax], edx
mov eax, dword [0xa531ac]
add eax, 4
mov dword [0xa531ac], eax
mov eax, dword [0xa531b4]
add eax, 1
mov dword [0xa531b4], eax
mov edx, dword [0xa531b4]
mov eax, dword [0xa531c4]
cmp edx, eax
setl al
test al, al
jne 0x4d31fd
mov eax, dword [0xa531b0]
sub eax, 1
mov dword [0xa531b0], eax
movzx eax, byte [0xa531c2]
sub eax, 1
mov byte [0xa531c2], al
movzx eax, byte [0xa531c2]
test al, al
je 0x4d348e
jmp 0x4d31b9
movzx eax, byte [0xa531c0]
test al, al
je 0x4d336c
mov eax, dword [0xa531c8]
sub eax, 1
mov dword [0xa531b0], eax
mov eax, dword [0xa531b0]
cmp eax, 0xf
jne 0x4d3298
mov dword [0xa531b0], 0xe
movzx eax, byte [0xa53175]
and eax, 0xf
mov byte [0xa531a8], al
movzx eax, byte [0xa531a8]
movzx eax, al
mov eax, dword [eax*4 + 0xa52680]
mov dword [0xa53158], eax
mov eax, dword [0x6ccb58]
mov ecx, dword [0xa5316c]
mov edx, dword [0xa531b0]
add ecx, edx
mov edx, dword [0x6ccb74]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa53160]
add ecx, edx
mov edx, dword [0xa53170]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa531ac], eax
mov dword [0xa531b4], 0
jmp 0x4d3328
mov eax, dword [0xa531ac]
mov edx, dword [0xa53158]
mov dword [eax], edx
mov eax, dword [0xa531ac]
add eax, 4
mov dword [0xa531ac], eax
mov eax, dword [0xa531b4]
add eax, 1
mov dword [0xa531b4], eax
mov edx, dword [0xa531b4]
mov eax, dword [0xa531c4]
cmp edx, eax
setl al
test al, al
jne 0x4d3301
mov eax, dword [0xa531b0]
sub eax, 1
mov dword [0xa531b0], eax
movzx eax, byte [0xa531c2]
sub eax, 1
mov byte [0xa531c2], al
movzx eax, byte [0xa531c2]
test al, al
je 0x4d348e
jmp 0x4d32bd
movzx eax, byte [0xa531c3]
movzx edx, al
mov eax, dword [0xa531c8]
cmp edx, eax
jge 0x4d348e
movzx eax, byte [0xa531c3]
movzx eax, al
mov dword [0xa531b0], eax
movzx eax, byte [0xa53175]
and eax, 0xf
mov byte [0xa531a8], al
movzx eax, byte [0xa531a8]
movzx eax, al
mov eax, dword [eax*4 + 0xa52680]
mov dword [0xa53158], eax
movzx eax, byte [0xa531c2]
cmp al, 0xff
jne 0x4d33de
mov eax, dword [0xa531c8]
mov edx, eax
movzx eax, byte [0xa531c3]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov byte [0xa531c2], al
jmp 0x4d33de
nop
mov eax, dword [0x6ccb58]
mov ecx, dword [0xa5316c]
mov edx, dword [0xa531b0]
add ecx, edx
mov edx, dword [0x6ccb74]
imul edx, ecx
mov ecx, edx
mov edx, dword [0xa53160]
add ecx, edx
mov edx, dword [0xa53170]
add edx, ecx
shl edx, 2
add eax, edx
mov dword [0xa531ac], eax
mov dword [0xa531b4], 0
jmp 0x4d3449
mov eax, dword [0xa531ac]
mov edx, dword [0xa53158]
mov dword [eax], edx
mov eax, dword [0xa531ac]
add eax, 4
mov dword [0xa531ac], eax
mov eax, dword [0xa531b4]
add eax, 1
mov dword [0xa531b4], eax
mov edx, dword [0xa531b4]
mov eax, dword [0xa531c4]
cmp edx, eax
setl al
test al, al
jne 0x4d3422
mov eax, dword [0xa531b0]
add eax, 1
mov dword [0xa531b0], eax
movzx eax, byte [0xa531c2]
sub eax, 1
mov byte [0xa531c2], al
movzx eax, byte [0xa531c2]
test al, al
jne 0x4d33dd
jmp 0x4d348e
nop
jmp 0x4d348e
nop
mov edx, dword [0x6bc174]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa53170]
add eax, edx
mov dword [0xa53170], eax
mov eax, dword [0xa530f8]
add eax, 1
mov dword [0xa530f8], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0xa530f8]
cmp edx, eax
setg al
test al, al
jne 0x4d29f7
mov edx, dword [0x6bc170]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x30]
shl eax, 2
add eax, edx
mov edx, dword [eax]
mov eax, dword [0xa5316c]
add eax, edx
mov dword [0xa5316c], eax
mov eax, dword [0xa530fc]
add eax, 1
mov dword [0xa530fc], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx edx, ax
mov eax, dword [0xa530fc]
cmp edx, eax
setg al
test al, al
jne 0x4d29de
mov eax, dword [0xa53124]
mov dword [0xa53140], eax
mov eax, dword [0xa53120]
mov dword [0xa53144], eax
mov eax, dword [0xa53138]
mov dword [0x55a874], eax
mov eax, dword [0xa5313c]
mov dword [0x55a878], eax
mov dword [0x6d6900], 1
movzx eax, byte [0xa530d0]
test al, al
je 0x4d3568
call fcn.004d1fea
mov eax, dword [0xa530d4]
mov edx, eax
sar edx, 0x1f
mov dword [0xa531d0], eax
mov dword [0xa531d4], edx
jmp 0x4d3d5d
mov eax, dword [0x6ccb54]
movzx eax, byte [eax + 0x19]
cmp al, 0x20
jne 0x4d39dc
movzx eax, byte [0xa530d0]
test al, al
jne 0x4d3733
mov dword [0xa531d8], 0
mov dword [0xa531dc], 0
mov dword [0xa53158], 0xffffffff
mov dword [0xa5315c], 0
jmp 0x4d3656
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 4
je 0x4d35f7
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 3
jne 0x4d3649
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [0xa531d8]
mov edx, dword [0xa531dc]
cmp ebx, edx
jl 0x4d3649
cmp ebx, edx
jg 0x4d3621
cmp ecx, eax
jbe 0x4d3649
mov eax, dword [0xa5315c]
shl eax, 5
add eax, 0x6bc000
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0xa531d8], eax
mov dword [0xa531dc], edx
mov eax, dword [0xa5315c]
mov dword [0xa53158], eax
mov eax, dword [0xa5315c]
add eax, 1
mov dword [0xa5315c], eax
mov eax, dword [0xa5315c]
cmp eax, 2
setle al
test al, al
jne 0x4d35cf
mov eax, dword [0x6bbf7c]
test eax, eax
jne 0x4d3807
mov eax, dword [0xa53158]
cmp eax, 0xffffffff
je 0x4d380e
mov eax, dword [0x6d6900]
test eax, eax
je 0x4d380a
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa530e0], eax
mov eax, dword [0xa53158]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 4]
mov eax, dword [0xa53158]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax + 8]
imul eax, edx
lea edx, [eax*4]
mov eax, dword [0xa530e0]
cmp edx, eax
jne 0x4d380d
mov eax, dword [0x55a854]
test eax, eax
je 0x4d3f52
mov eax, dword [0xa530e0]
mov ecx, eax
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa53158]
shl eax, 5
add eax, 0x6bc010
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 0x4d3f55
jmp 0x4d380e
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
shl eax, 2
mov dword [0xa530e0], eax
mov edx, dword [0xa530e0]
mov eax, dword [0x55a86c]
cmp edx, eax
je 0x4d3790
mov eax, dword [0xa52674]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa530e0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa52674], eax
mov eax, dword [0xa530e0]
mov dword [0x55a86c], eax
jmp 0x4d37e1
mov eax, dword [0x6bbf7c]
test eax, eax
jne 0x4d37dd
mov eax, dword [0x55a854]
test eax, eax
je 0x4d3f58
mov eax, dword [0xa530e0]
mov ecx, eax
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa52674]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4d37e0
mov eax, dword [0x6d6900]
test eax, eax
jne 0x4d3f5b
jmp 0x4d37e1
nop
jmp 0x4d37e1
nop
mov eax, dword [0xa530e0]
mov ecx, eax
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa52674]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4d380e
nop
jmp 0x4d380e
nop
jmp 0x4d380e
nop
mov edx, dword [0x6ccb74]
mov eax, dword [0x6ccb78]
imul eax, edx
shl eax, 2
mov dword [0xa531e0], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 0xc]
mov eax, dword [0xa531e0]
cmp edx, eax
jge 0x4d388b
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa530d4]
mov eax, dword [0xa531e0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x6bc010
mov dword [edx], eax
mov edx, dword [0xa530d4]
mov eax, dword [0xa531e0]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 0xc], eax
mov edx, dword [0xa530d4]
mov eax, dword [0x6ccb74]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 4], eax
mov edx, dword [0xa530d4]
mov eax, dword [0x6ccb78]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 8], eax
movzx eax, byte [0xa530d0]
test al, al
jne 0x4d3918
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 4]
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax + 8]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x4d3d59
mov eax, dword [0xa52674]
mov dword [0xa531e4], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [0xa531e8], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 4]
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax + 8]
imul eax, edx
mov dword [0xa531ec], eax
mov eax, dword [0xa531ec]
test eax, eax
jle 0x4d3d59
jmp 0x4d39c1
mov eax, dword [0xa531e4]
mov edx, dword [eax]
mov dword [0xa531f0], edx
add eax, 4
mov dword [0xa531e4], eax
mov eax, dword [0xa531e8]
mov edx, dword [0xa531f0]
mov ecx, edx
and ecx, 0xff00ff00
mov edx, dword [0xa531f0]
and edx, 0xff0000
shr edx, 0x10
or ecx, edx
mov edx, dword [0xa531f0]
and edx, 0xff
shl edx, 0x10
or edx, ecx
mov dword [eax], edx
add eax, 4
mov dword [0xa531e8], eax
mov eax, dword [0xa531ec]
test eax, eax
setne dl
sub eax, 1
mov dword [0xa531ec], eax
test dl, dl
jne 0x4d396d
jmp 0x4d3d59
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x20]
cmp ax, 0xa
jne 0x4d3a7d
call fcn.00477deb
and eax, 0x200
mov dword [0xa53158], eax
mov eax, dword [0xa53158]
test eax, eax
je 0x4d3a11
mov dword [0xa53158], 1
mov dword [0xa530e0], 0
jmp 0x4d3a6e
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov edx, dword [0xa530e0]
shl edx, 2
lea ecx, [eax + edx]
mov edx, dword [0xa53158]
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov ebx, dword [0xa530e0]
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 + 0xa450c0]
mov dword [ecx], eax
mov eax, dword [0xa530e0]
add eax, 1
mov dword [0xa530e0], eax
mov eax, dword [0xa530e0]
cmp eax, 3
setle al
test al, al
jne 0x4d3a1d
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx edx, ax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
imul eax, edx
mov dword [0xa530e0], eax
mov eax, dword [0x6ccb54]
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 [0xa53158], eax
mov edx, dword [0xa530e0]
mov eax, dword [0x55a86c]
cmp edx, eax
je 0x4d3af5
mov eax, dword [0xa52674]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [0xa530e0]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [0xa52674], eax
mov eax, dword [0xa530e0]
mov dword [0x55a86c], eax
jmp 0x4d3b73
mov eax, dword [0x6bbf7c]
test eax, eax
jne 0x4d3b6c
mov eax, dword [0x55a854]
test eax, eax
je 0x4d3f5e
mov eax, dword [0xa530e0]
mov ecx, eax
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa52674]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4d3b6f
mov eax, dword [0xa53158]
shl eax, 2
mov edx, eax
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa52680
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x4d3b72
mov eax, dword [0x6d6900]
test eax, eax
jne 0x4d3f61
jmp 0x4d3b73
nop
jmp 0x4d3b73
nop
jmp 0x4d3b73
nop
mov edx, dword [0x6ccb74]
mov eax, dword [0x6ccb78]
imul eax, edx
shl eax, 2
mov dword [0xa531f4], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax + 0xc]
mov eax, dword [0xa531f4]
cmp edx, eax
jge 0x4d3bf0
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov ebx, dword [0xa530d4]
mov eax, dword [0xa531f4]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, ebx
shl edx, 5
add edx, 0x6bc010
mov dword [edx], eax
mov edx, dword [0xa530d4]
mov eax, dword [0xa531f4]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 0xc], eax
mov edx, dword [0xa530d4]
mov eax, dword [0x6ccb74]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 4], eax
mov edx, dword [0xa530d4]
mov eax, dword [0x6ccb78]
shl edx, 5
add edx, 0x6bc010
mov dword [edx + 8], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax]
mov dword [0x6ccb58], eax
mov eax, dword [0xa530e0]
mov ecx, eax
mov eax, dword [0x6ccb54]
mov edx, dword [eax + 0x40]
mov eax, dword [0xa52674]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [0xa53158]
shl eax, 2
mov edx, eax
mov eax, dword [0x6ccb54]
mov eax, dword [eax + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], 0xa52680
call sub.msvcrt.dll_memcpy
movzx eax, byte [0xa530d0]
test al, al
je 0x4d3c8c
call fcn.004d1fea
mov eax, dword [0xa52674]
mov dword [0xa531f8], eax
mov eax, dword [0x6ccb58]
mov dword [0xa531fc], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x14]
movzx eax, ax
mov dword [0xa53170], eax
mov eax, dword [0x6ccb54]
movzx eax, word [eax + 0x16]
movzx eax, ax
mov dword [0xa5316c], eax
mov dword [0xa530fc], 0
jmp 0x4d3d33
mov dword [0xa530f8], 0
jmp 0x4d3d12
mov edx, dword [0xa531fc]
mov eax, dword [0xa531f8]
movzx ecx, byte [eax]
movzx ecx, cl
mov ecx, dword [ecx*4 + 0xa52680]
mov dword [edx], ecx
add edx, 4
mov dword [0xa531fc], edx
add eax, 1
mov dword [0xa531f8], eax
mov eax, dword [0xa530f8]
add eax, 1
mov dword [0xa530f8], eax
mov edx, dword [0xa530f8]
mov eax, dword [0xa53170]
cmp edx, eax
setl al
test al, al
jne 0x4d3cda
mov eax, dword [0xa530fc]
add eax, 1
mov dword [0xa530fc], eax
mov edx, dword [0xa530fc]
mov eax, dword [0xa5316c]
cmp edx, eax
setl al
test al, al
jne 0x4d3cce
movzx eax, byte [0xa530d0]
test al, al
je 0x4d3d5c
call fcn.004d1fea
jmp 0x4d3d5c
nop
jmp 0x4d3d5d
nop
mov dword [0x6bbf7c], 0
mov dword [0x6d6900], 1
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc000
mov dword [eax], 3
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc000
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x6bc068], eax
mov dword [0x6bc06c], edx
mov eax, dword [0x6b6b4c]
test eax, eax
je 0x4d3f62
mov eax, dword [0x6bc0e0]
test eax, eax
je 0x4d3f62
mov eax, dword [0xa53200]
test eax, eax
jne 0x4d3e0b
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 [0xa53200], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax + 4]
mov dword [0xa53204], eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov eax, dword [eax + 8]
mov dword [0xa53208], eax
mov eax, dword [0xa5320c]
add eax, 1
mov dword [0xa5320c], eax
mov eax, dword [0xa5320c]
mov dword [0xa53210], eax
mov eax, dword [0xa53204]
mov dword [0xa53214], eax
mov eax, dword [0xa53208]
mov dword [0xa53218], eax
mov eax, dword [0xa53200]
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 [0xa53204]
mov eax, dword [0xa53208]
imul eax, edx
shl eax, 2
mov ecx, eax
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc010
mov edx, dword [eax]
mov eax, dword [0xa53200]
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 [0xa53200]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
call eax
sub esp, 4
mov eax, dword [0xa53200]
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 [0xa53200]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0xa53210
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
call eax
sub esp, 0x14
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
jmp 0x4d3f62
nop
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc000
mov eax, dword [eax]
cmp eax, 2
jne 0x4d3fa7
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc000
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [0x6bc068], eax
mov dword [0x6bc06c], edx
mov eax, dword [0xa530d4]
shl eax, 5
add eax, 0x6bc000
mov dword [eax], 1
mov eax, dword [0x6d6914]
cmp eax, 1
jne 0x4d3fcc
mov dword [0x6d6914], 2
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x55a2d8]
cmp eax, 0xffffffff
jne 0x4d3fe0
mov dword [0x55a2d8], 0
mov dword [0xa52620], 1
nop
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret