Function at 0x468624
Capabilities:
Terminate process

Disassembly:
push 0x74
mov eax, 0x486eb4
call fcn.00483193
mov esi, ecx
mov dword [ebp - 0x68], esi
mov eax, dword [esi + 4]
sub eax, dword [esi]
push 0x18
pop ecx
cdq
idiv ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x78], eax
cmp eax, 2
jb 0x4b3b37
and dword [ebp - 0x6c], 0
xor dl, dl
xor ecx, ecx
mov byte [ebp - 0x5d], dl
mov dword [ebp - 0x70], ecx
xor edx, edx
mov ecx, esi
mov dword [ebp - 0x7c], edx
call fcn.004689e1
and dword [ebp - 0x5c], 0
and dword [ebp - 0x64], 0
mov eax, dword [esi + 4]
mov edi, dword [esi]
sub eax, edi
push 0x18
cdq
pop ecx
idiv ecx
mov edx, dword [ebp - 0x5c]
cmp edx, eax
jae 0x4687b7
mov eax, dword [ebp - 0x64]
add eax, edi
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jae 0x4687a9
cmp byte [ecx], 0x2f
je 0x4b38c3
mov esi, dword [ebp - 0x64]
add esi, edi
mov eax, esi
cmp dword [esi + 0x14], 0x10
jae 0x4687b0
cmp byte [eax], 0x2d
jne 0x46870b
cmp dword [esi + 0x14], 0x10
mov eax, esi
jae 0x4b38d5
movsx eax, byte [eax + 1]
cmp eax, 0x70
jle 0x46871d
sub eax, 0x71
je 0x46877a
sub eax, 1
jne 0x468811
mov edx, dword [ebp - 0x68]
push 0x18
pop ecx
mov eax, dword [edx + 4]
sub eax, edi
cdq
idiv ecx
mov ecx, dword [ebp - 0x5c]
inc ecx
cmp ecx, eax
jae 0x4b3b37
mov ecx, 0x53a178
jmp 0x468766
push eax
push esi
call fcn.0043982f
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x68]
inc edx
push 0x18
mov dword [ebp - 0x5c], edx
pop edx
add dword [ebp - 0x64], edx
jmp 0x468671
je 0x468881
sub eax, 0x62
je 0x4b38e8
sub eax, 1
je 0x4b38dc
sub eax, 1
je 0x4b38e8
sub eax, 5
jne 0x4688de
mov edx, dword [ebp - 0x68]
push 0x18
pop ecx
mov eax, dword [edx + 4]
sub eax, edi
cdq
idiv ecx
mov ecx, dword [ebp - 0x5c]
inc ecx
cmp ecx, eax
jae 0x4b3b37
mov ecx, 0x53a190
add esi, 0x18
cmp esi, ecx
je 0x468708
cmp dword [esi + 0x14], 0x10
mov eax, dword [esi + 0x10]
jb 0x468701
mov esi, dword [esi]
jmp 0x468701
push 0x402458
mov ecx, esi
call fcn.004715f8
test al, al
je 0x4688bf
and dword [ebp - 0x70], 0
xor ecx, ecx
inc ecx
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x78]
jb 0x46870b
mov byte [ebp - 0x5d], cl
jmp 0x46870b
mov ecx, dword [eax]
jmp 0x46869a
mov eax, dword [esi]
jmp 0x4686b4
mov dl, byte [ebp - 0x5d]
mov ecx, dword [ebp - 0x70]
call fcn.004280e6
cmp byte [0x7ced91], 0
jne 0x4b39b4
cmp byte [0x7ced9c], 0
jne 0x4b39ba
cmp byte [0x7ced90], 0
jne 0x4b3a5b
mov eax, dword [ebp - 0x6c]
cmp eax, 1
jne 0x4688fa
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x80]
call fcn.004291c3
cmp dword [eax], 0
jl 0x4b3ad2
xor eax, eax
call fcn.0048313d
ret
sub eax, 1
jne 0x4b38fb
mov edx, dword [ebp - 0x68]
push 0x18
mov ecx, dword [ebp - 0x5c]
inc ecx
mov eax, dword [edx + 4]
sub eax, edi
mov dword [ebp - 0x74], ecx
cdq
pop edi
idiv edi
cmp ecx, eax
jae 0x4b3b37
cmp dword [esi + 0x28], 0x26
jne 0x468708
add esi, edi
cmp dword [esi + 0x14], 0x10
jb 0x46884b
mov esi, dword [esi]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x468850
sub ecx, edx
push ecx
push esi
mov ecx, 0x53a160
call fcn.0043982f
cmp dword [ebp - 0x6c], 0
jne 0x4b3b37
mov edx, dword [ebp - 0x74]
add dword [ebp - 0x64], edi
mov dword [ebp - 0x6c], 1
jmp 0x46870b
mov edx, dword [ebp - 0x68]
push 0x18
pop ecx
mov edi, dword [ebp - 0x5c]
mov eax, dword [edx + 4]
inc edi
sub eax, dword [edx]
cdq
idiv ecx
cmp edi, eax
jae 0x468708
add esi, ecx
cmp dword [esi + 0x14], 0x10
jae 0x4b38f4
push esi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
pop ecx
push 0x18
mov dword [ebp - 0x7c], eax
mov edx, edi
pop eax
add dword [ebp - 0x64], eax
jmp 0x46870b
push 0x402440
mov ecx, esi
call fcn.004715f8
test al, al
je 0x4b3994
xor ecx, ecx
inc ecx
mov dword [ebp - 0x70], ecx
jmp 0x468795
push 2
pop ecx
sub eax, ecx
jne 0x4b3b37
cmp dword [ebp - 0x6c], eax
jne 0x4b3b37
mov dword [ebp - 0x6c], ecx
jmp 0x46870b
cmp eax, 2
jne 0x468809
call dword [sym.imp.cpfe.dll_bool___cdecl_edge::is_stub_host_void_]
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov byte [ebp - 0x5d], al
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::good_void_const]
test al, al
je 0x468809
mov esi, 0x402428
mov edi, 0x48112b
and dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 3
lea edx, [ebp - 0x28]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.00470a1e
push 0x4023f0
lea ecx, [ebp - 0x28]
call fcn.004715f8
test al, al
jne 0x4b3ada
push 0x4023f8
lea ecx, [ebp - 0x28]
call fcn.004715f8
test al, al
je 0x4b3b0b
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, esi
call fcn.0046b6c8
mov edx, 0x402400
mov ecx, eax
call fcn.0046b6c8
push edi
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 0x402418
call dword [0x53a004]
mov dword [esp], 0x402418
call dword [sym.imp.cpfe.dll_void___cdecl_edge::pgo_sweep_char_const__]
pop ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, esi
call fcn.0046b6c8
mov edx, 0x40240c
mov ecx, eax
call fcn.0046b6c8
push edi
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_____]
jmp 0x4b3b0b
cmp dword [eax + 0x14], 0x10
jb 0x4b38cb
mov eax, dword [eax]
mov byte [eax], 0x2d
mov edi, dword [esi]
jmp 0x4686a3
mov eax, dword [esi]
jmp 0x4686c5
mov byte [0x7ced9c], 1
jmp 0x46870b
mov byte [0x7ced91], 1
jmp 0x46870b
mov esi, dword [esi]
jmp 0x4688a7
sub eax, 7
jne 0x4b3b37
push 0x41d4a0
mov ecx, esi
call fcn.004715f8
test al, al
je 0x4b3974
mov edx, dword [ebp - 0x68]
push 0x18
pop ecx
mov eax, dword [edx + 4]
sub eax, edi
cdq
idiv ecx
mov ecx, dword [ebp - 0x5c]
inc ecx
cmp ecx, eax
jae 0x468708
cmp dword [0x53a1a4], 0x10
lea ecx, [esi + 0x18]
mov eax, 0x53a190
jb 0x4b3944
mov eax, dword [0x53a190]
cmp dword [ecx + 0x14], 0x10
mov edx, dword [ecx + 0x10]
jb 0x4b394f
mov ecx, dword [ecx]
push dword [0x53a1a0]
push eax
call fcn.0047c425
mov edx, dword [ebp - 0x5c]
pop ecx
pop ecx
test al, al
je 0x46870b
mov byte [0x7ced90], 1
jmp 0x46870b
push 0x41d4a4
mov ecx, esi
call fcn.004715f8
test al, al
je 0x4b3b37
mov byte [0x7ced90], 1
jmp 0x468708
push 0x41d49c
mov ecx, esi
call fcn.004715f8
test al, al
je 0x468792
mov dword [ebp - 0x70], 2
jmp 0x468792
int3
cmp dword [ebp - 0x6c], 2
je 0x4b3b37
and dword [ebp - 0x78], 0
and dword [ebp - 0x74], 0
call dword [sym.imp.KERNEL32.dll_AllocConsole]
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 1
call edi
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
push eax
push 0x41d21c
lea eax, [ebp - 0x78]
push 0x41d4a8
push eax
call esi
push 2
call edi
push eax
push 0x41d21c
lea eax, [ebp - 0x74]
push 0x41d4a8
push eax
call esi
push 0x41d4b0
call fcn.004ec8df
add esp, 0x2c
xor edi, edi
xor esi, esi
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
cdq
idiv dword [ebp - 0x80]
cmp edi, eax
jae 0x4b3a4b
lea eax, [esi + ecx]
cmp dword [eax + 0x14], 0x10
jb 0x4b3a36
mov eax, dword [eax]
push eax
push 0x41d4bc
call fcn.004ec8df
pop ecx
pop ecx
push 0x18
pop eax
inc edi
add esi, eax
jmp 0x4b3a19
push 0x406f0c
call fcn.004ec8df
pop ecx
jmp 0x4687dc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea ecx, [ebp - 0x13]
xor edx, edx
dec ecx
push 0xa
pop esi
div esi
add dl, 0x30
mov byte [ecx], dl
test eax, eax
jne 0x4b3a64
push ecx
lea eax, [ebp - 0x13]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.00467a0e
and dword [ebp - 4], 0
lea edx, [ebp - 0x40]
push 0x1c
push 0x41d4ec
push 0x41d4c0
push 0x53a190
push 0x41d4cc
lea ecx, [ebp - 0x58]
call fcn.004be6ac
add esp, 0x14
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.0043baa3
xor edx, edx
lea ecx, [ebp - 0x58]
call fcn.004bf221
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0043baa3
jmp 0x4687e9
xor eax, eax
inc eax
jmp 0x46880b
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, esi
call fcn.0046b6c8
mov edx, 0x41d48c
mov ecx, eax
call fcn.0046b6c8
push edi
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.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043baa3
mov edx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
add ecx, edx
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::good_void_const]
test al, al
jne 0x468931
jmp 0x468809
push 0x41d510
call fcn.004ec8df
pop ecx
or eax, 0xffffffff
jmp 0x46880b