Function at 0x401220
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x406584
mov eax, dword fs:[0]
push eax
sub esp, 0x3a4
mov eax, dword [0x40a008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 0x338], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x334], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], al
mov dword [ebp - 4], eax
mov edx, str.osu_mania_Lane_Swapper
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x404680
call fcn.00404450
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_____]
nop word [eax + eax]
push 0
push 0x4072c8
lea ecx, [ebp - 0xbc]
call fcn.00404050
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Please_choose_a_.osu_beatmap_file_to_edit.__this_will_be_found_in_any_subfolder_of_your_AppData_Local_osu__songs_folder_._Type_STOP_to_end_the_program.
push 0x404680
call fcn.00404450
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 esi, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
mov eax, dword [esi]
mov ecx, dword [eax + 4]
add ecx, esi
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0xbc]
push eax
mov ecx, esi
call fcn.00404e50
mov esi, dword [ebp - 0xbc]
lea ecx, [ebp - 0xbc]
mov edi, dword [ebp - 0xac]
add esp, 4
cmp dword [ebp - 0xa8], 0x10
setae byte [ebp - 0x32d]
cmovae ecx, esi
cmp edi, 4
jne 0x40138a
mov esi, edi
mov edx, str.STOP
sub esi, edi
jb 0x401341
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x401346
add ecx, 4
add edx, 4
sub esi, 4
jae 0x401330
cmp esi, 0xfffffffc
je 0x40137a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x401373
cmp esi, 0xfffffffd
je 0x40137a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x401373
cmp esi, 0xfffffffe
je 0x40137a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x401373
cmp esi, 0xffffffff
je 0x40137a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40137a
sbb eax, eax
or eax, 1
jmp 0x40137c
xor eax, eax
test eax, eax
je 0x402a05
mov esi, dword [ebp - 0xbc]
mov cl, byte [ebp - 0x32d]
lea eax, [ebp - 0xbc]
test cl, cl
cmovne eax, esi
cmp byte [eax], 0x22
jne 0x401477
test cl, cl
lea eax, [ebp - 0xbc]
lea edx, [edi - 1]
cmovne eax, esi
cmp byte [eax + edx], 0x22
jne 0x401477
mov dword [ebp - 0x354], 0
lea ecx, [edi - 2]
mov dword [ebp - 0x344], 0
mov dword [ebp - 0x340], 0xf
cmp edi, 1
jb 0x402a65
cmp edx, ecx
lea eax, [ebp - 0xbc]
cmovb ecx, edx
cmp byte [ebp - 0x32d], 0
push ecx
cmovne eax, esi
lea ecx, [ebp - 0x354]
inc eax
push eax
call fcn.00404050
or dword [ebp - 0x334], 0x400
mov ecx, dword [ebp - 0xa8]
cmp ecx, 0x10
jb 0x40144d
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401443
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
movups xmm0, xmmword [ebp - 0x354]
movups xmmword [ebp - 0xbc], xmm0
mov esi, dword [ebp - 0xbc]
movq xmm0, qword [ebp - 0x344]
movq qword [ebp - 0xac], xmm0
mov edi, dword [ebp - 0xac]
cmp edi, 5
jb 0x402a82
lea edx, [edi - 4]
cmp edi, edx
jb 0x402a65
sub edi, edx
lea eax, [ebp - 0xbc]
mov ecx, 4
cmp edi, ecx
cmovb ecx, edi
cmp dword [ebp - 0xa8], 0x10
mov dword [ebp - 0x338], ecx
cmovae eax, esi
cmp ecx, 4
mov esi, ecx
mov ecx, 4
cmova esi, ecx
lea ecx, [eax + edx]
mov edx, str..osu
sub esi, 4
jb 0x4014d8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4014dd
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4014c7
cmp esi, 0xfffffffc
je 0x401511
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40150a
cmp esi, 0xfffffffd
je 0x401511
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40150a
cmp esi, 0xfffffffe
je 0x401511
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40150a
cmp esi, 0xffffffff
je 0x401511
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x401511
sbb eax, eax
or eax, 1
jmp 0x401513
xor eax, eax
test eax, eax
jne 0x402a82
cmp dword [ebp - 0x338], 4
jb 0x402a82
ja 0x402a82
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], al
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11c]
push 4
mov dword [ebp - 0x11c], eax
push str.1234
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], 0xf
mov byte [ebp - 0x11c], al
call fcn.00404050
mov byte [ebp - 4], 2
mov edx, str.Please_write_new_lane_indices_desired.__ex._1234_is_default__4321_is_equivalent_to_mirror_mod_
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x404680
call fcn.00404450
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_istream_char__struct_std::char_traits_char___std::cin]
lea edx, [ebp - 0xec]
call fcn.004046b0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
push 0xa
push 0x7fffffff
push 0xffffffffffffffff
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__::ignore_long_long___int64___int_]
cmp dword [ebp - 0xd8], 0x10
lea esi, [ebp - 0xec]
mov eax, dword [ebp - 0xdc]
lea ecx, [ebp - 0xec]
cmovae esi, dword [ebp - 0xec]
setae dl
test dl, dl
mov byte [ebp - 0x360], 0
push dword [ebp - 0x360]
cmovne ecx, dword [ebp - 0xec]
add eax, ecx
cmp dword [ebp - 0x108], 0x10
lea ecx, [ebp - 0x11c]
cmovae ecx, dword [ebp - 0x11c]
push ecx
push eax
push esi
call fcn.00405000
add esp, 0x10
test al, al
je 0x402a76
push 2
mov dword [ebp - 0x88], 0
lea ecx, [ebp - 0x88]
push 0x4074c8
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
call fcn.00404050
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x70]
push 3
mov dword [ebp - 0x70], 0
push 0x4074cc
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
call fcn.00404050
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x58]
push 3
mov dword [ebp - 0x58], 0
push 0x4074d0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00404050
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
push 3
mov dword [ebp - 0x40], 0
push 0x4074d4
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00404050
push 0xb8
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 6
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x1d4], 0x40764c
cmp dword [ebp - 0xa8], 0x10
lea esi, [ebp - 0xbc]
lea ecx, [ebp - 0x164]
cmovae esi, dword [ebp - 0xbc]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1d4]
mov eax, dword [ebp - 0x334]
or eax, 0x40
push 0
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x338], eax
lea eax, [ebp - 0x1c4]
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x1d4]
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 - 0x1d4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x1d8], eax
lea eax, [ebp - 0x1c4]
mov ecx, eax
mov dword [ebp - 0x33c], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 9
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 - 0x17c], 0
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 0x187], 0
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x40a6ac]
mov ecx, dword [0x40a6b0]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], ecx
mov dword [ebp - 0x18c], 0
push ecx
push 1
push esi
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 0xa
call fcn.00404190
test eax, eax
jne 0x401812
push eax
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1d4]
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 eax, dword [ebp - 0x1d4]
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 - 0x1d4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x1d8], eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x178], 0
je 0x402a6a
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa0]
push 0
mov dword [ebp - 0xa0], 0
push 0x4072c8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.00404050
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d4]
push 0xa
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.00404e50
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x401c51
nop dword [eax]
cmp dword [ebp - 0xc0], 0x10
lea ecx, [ebp - 0xd4]
mov esi, dword [ebp - 0x8c]
mov eax, esi
cmovae ecx, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x90]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x40194b
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
lea esi, [eax + edx]
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi], 0
jmp 0x401964
mov byte [ebp - 0x364], 0
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x364]
push edi
call fcn.00404be0
cmp dword [ebp - 0xc0], 0x10
lea ecx, [ebp - 0xd4]
mov edx, dword [ebp - 0xc4]
cmovae ecx, dword [ebp - 0xd4]
push 8
push str.Version:
push ecx
call fcn.004049b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x401b56
mov ecx, dword [ebp - 0xdc]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 2
jb 0x402a30
cmp dword [ebp - 0xd8], 0x10
lea eax, [ebp - 0xec]
push ecx
cmovae eax, dword [ebp - 0xec]
push eax
push 2
push 0x407504
push ecx
push dword [ebp - 0x35c]
lea ecx, [ebp - 0x28]
call fcn.00404d50
mov esi, dword [ebp - 0x334]
or esi, 0x20
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
cmp eax, 1
jb 0x401a10
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
mov word [eax + ecx], 0x29
lea eax, [ebp - 0x28]
jmp 0x401a2e
push 1
push 0x407500
mov byte [ebp - 0x368], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x368]
push 1
call fcn.00404be0
movups xmm1, xmmword [eax]
or esi, 0x10
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x398], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x388], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x334], esi
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x398]
cmp dword [ebp - 0x384], 0x10
mov eax, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x388]
movd edi, xmm1
push ecx
cmovae edx, edi
sub eax, esi
push edx
cmp ecx, eax
ja 0x401ac5
cmp dword [ebp - 0x8c], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x388]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x401ae4
mov byte [ebp - 0x36c], 0
push dword [ebp - 0x36c]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00404be0
mov edi, dword [ebp - 0x398]
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x384]
cmp eax, 0x10
jb 0x401b1e
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x401b14
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edi
call fcn.004056bd
add esp, 8
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x401b56
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401b4c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
mov edx, dword [ebp - 0x8c]
mov eax, edx
mov ecx, dword [ebp - 0x90]
sub eax, ecx
cmp eax, 1
jb 0x401b8c
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
mov word [eax + ecx], 0xa
jmp 0x401bad
push 1
push 0x407508
mov byte [ebp - 0x370], 0
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x370]
push 1
call fcn.00404be0
cmp dword [ebp - 0xc0], 0x10
lea ecx, [ebp - 0xd4]
cmovae ecx, dword [ebp - 0xd4]
cmp dword [ebp - 0xc4], 0xc
jne 0x401c12
mov edx, str._HitObjects_
mov esi, 8
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x401be9
add ecx, 4
add edx, 4
sub esi, 4
jae 0x401bd4
xor eax, eax
jmp 0x401c0e
cmp al, byte [edx]
jne 0x401c09
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x401c09
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x401c09
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x401c09
xor eax, eax
jmp 0x401c0e
sbb eax, eax
or eax, 1
test eax, eax
je 0x401c66
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1d4]
push 0xa
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.00404e50
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x4018f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Hit_objects_not_found.
push 0x404680
jmp 0x402a50
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x1d4]
call dword [sym.imp.MSVCP140.dll_public:_class_std::fpos_struct__Mbstatet____thiscall_std::basic_istream_char__struct_std::char_traits_char__::tellg_void_]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Swapping_lanes_in_progress...
push 0x404680
mov esi, dword [eax + 8]
add esi, dword [eax]
call fcn.00404450
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 dword [ebp - 0x104], 0
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf0], 0xf
mov byte [ebp - 0x104], 0
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov eax, esp
lea ecx, [ebp - 0x1d4]
xorps xmm0, xmm0
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
movq qword [eax + 0x10], xmm0
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__::seekg_class_std::fpos_struct__Mbstatet__]
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1d4]
push 0xa
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.00404e50
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x402391
push 0xa8
lea eax, [ebp - 0x32c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x32c], 0x407658
lea ecx, [ebp - 0x2cc]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x31c]
mov edi, dword [ebp - 0x334]
lea ecx, [ebp - 0x32c]
push 0
push 0
or edi, 8
push eax
mov dword [ebp - 0x334], edi
mov dword [ebp - 0x338], edi
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x32c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x60]
mov dword [ebp + ecx - 0x330], eax
lea eax, [ebp - 0x31c]
mov ecx, eax
mov dword [ebp - 0x358], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0xd4]
cmp dword [ebp - 0xc0], 0x10
mov esi, dword [ebp - 0xc4]
cmovae eax, dword [ebp - 0xd4]
mov dword [ebp - 0x33c], eax
mov eax, 2
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
cmp esi, 0x7fffffff
ja 0x402a3a
test esi, esi
je 0x401e8c
cmp esi, 0x1000
jb 0x401e43
lea eax, [esi + 0x23]
cmp eax, esi
jbe 0x402a35
push eax
call fcn.00405578
add esp, 4
test eax, eax
je 0x402a2a
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x401e4e
push esi
call fcn.00405578
add esp, 4
mov edi, eax
push esi
push dword [ebp - 0x33c]
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x310]
lea ecx, [edi + esi]
mov dword [ebp - 0x2e4], ecx
add esp, 0xc
mov dword [eax], edi
mov eax, dword [ebp - 0x300]
mov dword [eax], edi
mov eax, dword [ebp - 0x2f0]
mov edi, dword [ebp - 0x334]
mov dword [eax], esi
mov eax, 3
jmp 0x401e96
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], eax
push 0x2c
lea edx, [ebp - 0x104]
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x32c]
mov byte [ebp - 0x32d], 1
call fcn.00404e50
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x4022b8
jmp 0x401ed6
mov edi, dword [ebp - 0x334]
cmp byte [ebp - 0x32d], 0
je 0x40217e
lea edi, [ebp - 0x88]
nop dword [eax]
cmp dword [ebp - 0xf0], 0x10
lea eax, [ebp - 0x104]
mov edx, edi
cmovae eax, dword [ebp - 0x104]
cmp dword [edi + 0x14], 0x10
jb 0x401f0e
mov edx, dword [edi]
mov esi, dword [edi + 0x10]
cmp esi, dword [ebp - 0xf4]
jne 0x401f70
sub esi, 4
jb 0x401f31
nop
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x401f36
add edx, 4
add eax, 4
sub esi, 4
jae 0x401f20
cmp esi, 0xfffffffc
je 0x401f6a
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x401f63
cmp esi, 0xfffffffd
je 0x401f6a
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x401f63
cmp esi, 0xfffffffe
je 0x401f6a
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x401f63
cmp esi, 0xffffffff
je 0x401f6a
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
je 0x401f6a
sbb eax, eax
or eax, 1
jmp 0x401f6c
xor eax, eax
test eax, eax
je 0x401f7e
add edi, 0x18
lea eax, [ebp - 0x40]
cmp edi, eax
jne 0x401ef0
lea eax, [ebp - 0x88]
sub edi, eax
lea esi, [ebp - 0x13]
add edi, 0x18
mov eax, 0x2aaaaaab
imul edi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x338], ecx
jns 0x401ff0
neg ecx
mov dword [ebp - 0x338], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x338]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x338], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x338], ecx
test ecx, ecx
jne 0x401fb0
dec esi
mov byte [esi], 0x2d
jmp 0x402027
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x338]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x338], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x338], ecx
test ecx, ecx
jne 0x401ff0
xor edx, edx
mov dword [ebp - 0x354], 0
lea eax, [ebp - 0x13]
mov dword [ebp - 0x344], edx
mov byte [ebp - 0x354], dl
mov ecx, 0xf
mov dword [ebp - 0x340], ecx
cmp esi, eax
je 0x40206c
sub eax, esi
lea ecx, [ebp - 0x354]
push eax
push esi
call fcn.00404050
mov edx, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x340]
or dword [ebp - 0x334], 3
cmp ecx, 0x10
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0x354]
lea eax, [ebp - 0x354]
cmovae eax, esi
mov dword [ebp - 0x33c], esi
setae byte [ebp - 0x32d]
lea ecx, [ebp - 0xec]
cmp dword [ebp - 0xd8], 0x10
push edx
cmovae ecx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xdc]
push eax
push ecx
call fcn.004049b0
lea edi, [ebp - 0x88]
add esp, 0xc
lea eax, [eax + eax*2]
cmp dword [edi + eax*8 + 0x14], 0x10
lea edi, [edi + eax*8]
mov ecx, edi
jb 0x4020d2
mov ecx, dword [edi]
mov eax, dword [ebp - 0x8c]
mov edi, dword [edi + 0x10]
mov edx, dword [ebp - 0x90]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x40211d
cmp dword [ebp - 0x8c], 0x10
lea esi, [ebp - 0xa0]
lea eax, [edi + edx]
cmovae esi, dword [ebp - 0xa0]
add esi, edx
mov dword [ebp - 0x90], eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov byte [esi + edi], 0
add esp, 0xc
mov esi, dword [ebp - 0x33c]
jmp 0x402136
mov byte [ebp - 0x374], 0
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x374]
push edi
call fcn.00404be0
cmp byte [ebp - 0x32d], 0
mov byte [ebp - 4], 0x14
je 0x402172
mov ecx, dword [ebp - 0x340]
mov eax, esi
inc ecx
cmp ecx, 0x1000
jb 0x402168
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push esi
call fcn.004056bd
add esp, 8
mov byte [ebp - 0x32d], 0
jmp 0x402292
mov ecx, dword [ebp - 0xf4]
mov byte [ebp - 0xa4], 0x2c
cmp ecx, 0x7fffffff
je 0x402a30
cmp dword [ebp - 0xf0], 0x10
lea eax, [ebp - 0x104]
push ecx
cmovae eax, dword [ebp - 0x104]
push eax
push 1
lea eax, [ebp - 0xa4]
push eax
push ecx
push dword [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.00404d50
or edi, 4
mov dword [ebp - 0x334], edi
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x354]
cmp dword [ebp - 0x340], 0x10
mov edi, dword [ebp - 0x354]
mov eax, dword [ebp - 0x8c]
cmovae edx, edi
mov esi, dword [ebp - 0x90]
sub eax, esi
mov ecx, dword [ebp - 0x344]
push ecx
push edx
cmp ecx, eax
ja 0x402239
cmp dword [ebp - 0x8c], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x344]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x402258
mov byte [ebp - 0x378], 0
push dword [ebp - 0x378]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00404be0
mov edi, dword [ebp - 0x354]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x340]
cmp eax, 0x10
jb 0x402292
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x402288
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edi
call fcn.004056bd
add esp, 8
push 0x2c
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x32c]
call fcn.00404e50
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x401ed0
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
cmp ecx, edx
jae 0x4022e9
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0xa0]
cmovae eax, dword [ebp - 0xa0]
mov word [eax + ecx], 0xa
jmp 0x402304
push 0xa
mov byte [ebp - 0x37c], 0
push dword [ebp - 0x37c]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.00404aa0
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x32c]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x60]
mov dword [ebp + ecx - 0x330], eax
lea ecx, [ebp - 0x31c]
call fcn.004030b0
lea ecx, [ebp - 0x314]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x2cc]
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 - 0x1d4]
lea ecx, [ebp - 0x1d4]
push 0xa
add ecx, dword [eax + 4]
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
lea edx, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.00404e50
add esp, 4
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x401d33
lea ecx, [ebp - 0x1c4]
call fcn.00403fd0
test eax, eax
jne 0x4023b8
push eax
mov eax, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1d4]
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 esi, dword [ebp - 0xac]
lea edi, [esi - 4]
cmp esi, edi
jb 0x402a65
mov eax, esi
lea ecx, [ebp - 0xbc]
sub eax, edi
mov edx, 4
cmp eax, edx
cmovb edx, eax
cmp dword [ebp - 0xa8], 0x10
cmovae ecx, dword [ebp - 0xbc]
sub esi, edx
add ecx, edi
mov dword [ebp - 0xac], esi
sub esi, edi
inc esi
push esi
lea eax, [ecx + edx]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [ebp - 0xdc]
mov eax, 0x7fffffff
sub eax, ecx
add esp, 0xc
cmp eax, 2
jb 0x402a30
cmp dword [ebp - 0xd8], 0x10
lea eax, [ebp - 0xec]
push ecx
cmovae eax, dword [ebp - 0xec]
push eax
push 2
push 0x407504
push ecx
push dword [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.00404d50
mov edi, dword [ebp - 0x334]
or edi, 0x80
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x340]
mov eax, edx
mov ecx, dword [ebp - 0x344]
sub eax, ecx
push 5
push str._.osu
cmp eax, 5
jb 0x4024a7
cmp edx, 0x10
lea esi, [ebp - 0x354]
lea eax, [ecx + 5]
cmovae esi, dword [ebp - 0x354]
add esi, ecx
mov dword [ebp - 0x344], eax
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + 5], 0
lea eax, [ebp - 0x354]
jmp 0x4024c1
mov byte [ebp - 0x380], 0
lea ecx, [ebp - 0x354]
push dword [ebp - 0x380]
push 5
call fcn.00404be0
movups xmm1, xmmword [eax]
or edi, 0x100
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x3b0], xmm1
mov dword [eax + 0x10], 0
movq qword [ebp - 0x3a0], xmm0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x334], edi
mov byte [ebp - 4], 0x18
lea edx, [ebp - 0x3b0]
cmp dword [ebp - 0x39c], 0x10
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x3a0]
movd edi, xmm1
push ecx
cmovae edx, edi
sub eax, esi
push edx
cmp ecx, eax
ja 0x40255b
cmp dword [ebp - 0xa8], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
add esi, eax
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x3a0]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x40257a
mov byte [ebp - 0x35c], 0
push dword [ebp - 0x35c]
push ecx
lea ecx, [ebp - 0xbc]
call fcn.00404be0
mov edi, dword [ebp - 0x3b0]
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x39c]
cmp eax, 0x10
jb 0x4025b4
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x4025aa
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edi
call fcn.004056bd
add esp, 8
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x340]
cmp ecx, 0x10
jb 0x4025f2
mov edx, dword [ebp - 0x354]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4025e8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
push 0xb0
lea eax, [ebp - 0x284]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x284], 0x407604
cmp dword [ebp - 0xa8], 0x10
lea esi, [ebp - 0xbc]
lea ecx, [ebp - 0x21c]
cmovae esi, dword [ebp - 0xbc]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x284]
mov eax, dword [ebp - 0x334]
or eax, 0x200
push 0
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x338], eax
lea eax, [ebp - 0x280]
push 0
push eax
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], 0x1a
mov eax, dword [ebp - 0x284]
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 - 0x284]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x288], eax
lea eax, [ebp - 0x280]
mov ecx, eax
mov dword [ebp - 0x358], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x280]
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 - 0x238], 0
mov byte [ebp - 0x243], 0
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void_]
mov eax, dword [0x40a6ac]
mov ecx, dword [0x40a6b0]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x248], 0
push ecx
push 2
push esi
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0x1c
call fcn.00404190
test eax, eax
jne 0x402728
push eax
mov eax, dword [ebp - 0x284]
lea ecx, [ebp - 0x284]
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 eax, dword [ebp - 0x284]
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 - 0x284]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x288], eax
mov byte [ebp - 4], 0x1d
cmp dword [ebp - 0x234], 0
je 0x402a40
cmp dword [ebp - 0x8c], 0x10
lea edx, [ebp - 0xa0]
push dword [ebp - 0x90]
cmovae edx, dword [ebp - 0xa0]
lea ecx, [ebp - 0x284]
call fcn.00405160
add esp, 4
lea ecx, [ebp - 0x280]
call fcn.00403fd0
test eax, eax
jne 0x4027af
push eax
mov eax, dword [ebp - 0x284]
lea ecx, [ebp - 0x284]
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 ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, str.Swapping_lanes_complete_
push 0x404680
call fcn.00404450
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 - 0x284]
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 - 0x284]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x288], eax
lea ecx, [ebp - 0x280]
call fcn.00403ba0
lea ecx, [ebp - 0x27c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0xf0]
cmp ecx, 0x10
jb 0x402854
mov edx, dword [ebp - 0x104]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40284a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x402892
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x402888
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp ecx, 0x10
jb 0x4028eb
mov edx, dword [ebp - 0xd4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4028e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
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 - 0x1d4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x70]
mov dword [ebp + ecx - 0x1d8], eax
lea ecx, [ebp - 0x1c4]
call fcn.00403ba0
lea ecx, [ebp - 0x1bc]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_istream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x164]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
push 0x403c80
push 4
push 0x18
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 2
push eax
call fcn.004055a8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x108]
cmp ecx, 0x10
jb 0x4029a7
mov edx, dword [ebp - 0x11c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40299d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x108], 0xf
mov byte [ebp - 0x11c], 0
cmp ecx, 0x10
jb 0x4012a0
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4029f6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402a2a
push ecx
push edx
call fcn.004056bd
add esp, 8
jmp 0x4012a0
push 0x404680
mov edx, str.You_can_now_safely_close_this_program.
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.00404450
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 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.00401170
call fcn.004010d0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xbad_alloc_void_]
push 0x404680
mov edx, str.Unable_to_write_to_new_file.
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.00404450
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 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.004042d0
push 0x404680
mov edx, str.Unable_to_open_the_file.
jmp 0x402a4a
push 0x404680
mov edx, str.User_input_is_not_a_valid_lane_configuration._Format_should_match_1234
jmp 0x402a0f
push 0x404680
mov edx, str.User_input_is_not_a_valid_.osu_file._Be_sure_to_type_the_whole_file_path.
jmp 0x402a0f