Function at 0x4020b3
Capabilities:
Execute command
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
nop
mov eax, 0
mov dword [ebp - 4], eax
mov eax, 0
mov dword [ebp - 8], eax
mov eax, 0
mov byte [ebp - 0x108], al
mov eax, 0xff
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x107]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, 0x405622
push eax
call sub.msvcrt.dll_puts
add esp, 4
mov eax, str._powershell__NoProfile__ExecutionPolicy_Unrestricted__Get_WMIObject__Class_Win32_PnPEntity___.Name__like___COM_select_Name_Manufacturer_DeviceID_
push eax
call sub.msvcrt.dll_puts
add esp, 4
mov eax, str.powershell__NoProfile__ExecutionPolicy_Unrestricted__Get_WMIObject__Class_Win32_PnPEntity___.Name__like___COM_select_Name_Manufacturer_DeviceID_
push eax
call sub.msvcrt.dll_system
add esp, 4
mov eax, str._pnputil__enum_devices__connected__class_Portsfindstr_COM
push eax
call sub.msvcrt.dll_puts
add esp, 4
mov eax, str.pnputil__enum_devices__connected__class_Portsfindstr_COM
push eax
call sub.msvcrt.dll_system
add esp, 4
mov eax, dword [ebp + 8]
cmp eax, 2
je 0x40218a
mov eax, 0x4057cb
push eax
call sub.msvcrt.dll_puts
add esp, 4
mov eax, str.COM
push eax
call sub.msvcrt.dll_printf
add esp, 4
lea eax, [ebp - 4]
push eax
mov eax, 0x4057ec
push eax
call sub.msvcrt.dll_scanf
add esp, 8
cmp eax, 1
je 0x40218a
mov eax, 0x4057ef
push eax
call fcn.004010bb
add esp, 4
mov eax, dword [ebp - 4]
cmp eax, 0
jle 0x402213
mov eax, 0x405813
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp - 4]
push eax
mov eax, str..COM_d
push eax
lea eax, [ebp - 0x108]
push eax
call sub.msvcrt.dll_sprintf
add esp, 0xc
mov eax, 0
push eax
mov eax, pe_nt_image_headers32
push eax
mov eax, 3
push eax
mov eax, 0
push eax
mov eax, 0
push eax
mov eax, 0xc0000000
push eax
lea eax, [ebp - 0x108]
push eax
call sub.kernel32.dll_CreateFileA
mov dword [0x405d78], eax
mov eax, 0x100
push eax
mov eax, 0
push eax
lea eax, [ebp - 0x108]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
jmp 0x402259
mov eax, 0x405834
push eax
call sub.msvcrt.dll_printf
add esp, 4
mov eax, dword [ebp + 0xc]
add eax, 4
mov ecx, 0
push ecx
mov ecx, pe_nt_image_headers32
push ecx
mov ecx, 3
push ecx
mov ecx, 0
push ecx
mov ecx, 0
push ecx
mov ecx, 0xc0000000
push ecx
mov ecx, dword [eax]
push ecx
call sub.kernel32.dll_CreateFileA
mov dword [0x405d78], eax
mov eax, dword [0x405d78]
cmp eax, 0xffffffff
jne 0x402276
mov eax, str.COM_open_error
push eax
call fcn.00401020
add esp, 4
mov eax, 0x405857
push eax
call sub.msvcrt.dll_system
add esp, 4
mov eax, 1
push eax
call sub.winmm.dll_timeBeginPeriod
call fcn.00401ec3
mov eax, 1
push eax
call sub.winmm.dll_timeEndPeriod
mov eax, 0
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x10c]
cmp eax, 6
jge 0x40245b
jmp 0x4022cf
mov eax, dword [ebp - 0x10c]
mov ecx, eax
inc eax
mov dword [ebp - 0x10c], eax
jmp 0x4022aa
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
mov eax, 0
mov byte [ecx], al
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
inc ecx
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x110], ecx
mov ecx, 2
cdq
idiv ecx
mov ecx, 3
cdq
idiv ecx
add edx, 0x31
mov eax, dword [ebp - 0x110]
mov byte [eax], dl
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 2
mov eax, 0x30
mov byte [ecx], al
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 3
mov eax, 0x30
mov byte [ecx], al
mov eax, 0
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
cmp eax, 0xa
jge 0x4023bf
jmp 0x402396
mov eax, dword [ebp - 0x114]
mov ecx, eax
inc eax
mov dword [ebp - 0x114], eax
jmp 0x402371
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 4
mov eax, dword [ebp - 0x114]
add ecx, eax
mov eax, 0x30
mov byte [ecx], al
jmp 0x402385
mov eax, 0
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
cmp eax, 4
jge 0x402418
jmp 0x4023ef
mov eax, dword [ebp - 0x118]
mov ecx, eax
inc eax
mov dword [ebp - 0x118], eax
jmp 0x4023ca
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 0xe
mov eax, dword [ebp - 0x118]
add ecx, eax
mov eax, 0x30
mov byte [ecx], al
jmp 0x4023de
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 0x12
mov eax, 0x30
mov byte [ecx], al
mov eax, dword [ebp - 0x10c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 0x13
mov eax, 3
mov byte [ecx], al
jmp 0x4022be
mov eax, 0
mov dword [ebp - 0x11c], eax
call sub.msvcrt.dll__getch
mov dword [ebp - 0x120], eax
jmp 0x4029f1
mov eax, dword [0x404008]
cmp eax, 0
je 0x40248c
mov eax, 0
jmp 0x402491
mov eax, 1
mov dword [0x404008], eax
jmp 0x402b96
mov eax, dword [0x404004]
cmp eax, 0
je 0x4024b2
mov eax, 0
jmp 0x4024b7
mov eax, 1
mov dword [0x404004], eax
jmp 0x402b96
mov eax, dword [section..data]
cmp eax, 0
je 0x4024d8
mov eax, 0
jmp 0x4024dd
mov eax, 1
mov dword [section..data], eax
jmp 0x402b96
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 4
mov eax, dword [ebp - 0x120]
add eax, 0xa
sub eax, 0x31
mov dword [ebp - 0x124], ecx
mov ecx, 0xa
cdq
idiv ecx
mov eax, dword [ebp - 0x124]
add eax, edx
movzx ecx, byte [eax]
xor ecx, 1
mov byte [eax], cl
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
mov eax, dword [ebp - 0x11c]
mov edx, 0x14
imul eax, edx
mov edx, 0x405d80
add edx, eax
movzx eax, byte [edx]
mov dword [ebp - 0x128], ecx
cmp eax, 0
je 0x40256b
jmp 0x402575
mov eax, 0
jmp 0x40257a
mov eax, 1
mov ecx, dword [ebp - 0x128]
mov byte [ecx], al
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
push ecx
mov eax, 0x40585b
push eax
call fcn.00401631
add esp, 8
jmp 0x402b96
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 2
movzx eax, byte [ecx]
xor eax, 1
mov byte [ecx], al
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
mov eax, dword [ebp - 0x11c]
mov edx, 0x14
imul eax, edx
mov edx, 0x405d80
add edx, eax
movzx eax, byte [edx]
mov dword [ebp - 0x12c], ecx
cmp eax, 0
je 0x40260c
jmp 0x402616
mov eax, 0
jmp 0x40261b
mov eax, 1
mov ecx, dword [ebp - 0x12c]
mov byte [ecx], al
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
push ecx
mov eax, 0x405862
push eax
call fcn.00401631
add esp, 8
jmp 0x402b96
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
add ecx, 3
movzx eax, byte [ecx]
xor eax, 1
mov byte [ecx], al
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
mov eax, dword [ebp - 0x11c]
mov edx, 0x14
imul eax, edx
mov edx, 0x405d80
add edx, eax
movzx eax, byte [edx]
mov dword [ebp - 0x130], ecx
cmp eax, 0
je 0x4026ad
jmp 0x4026b7
mov eax, 0
jmp 0x4026bc
mov eax, 1
mov ecx, dword [ebp - 0x130]
mov byte [ecx], al
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
push ecx
mov eax, 0x405869
push eax
call fcn.00401631
add esp, 8
jmp 0x402b96
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
movzx eax, byte [ecx]
cmp eax, 0
je 0x40272f
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
mov eax, 0
mov byte [ecx], al
jmp 0x40274b
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
mov eax, 1
mov byte [ecx], al
mov eax, dword [ebp - 0x11c]
mov ecx, 0x14
imul eax, ecx
mov ecx, 0x405d80
add ecx, eax
push ecx
mov eax, str.Edit:
push eax
call fcn.00401631
add esp, 8
jmp 0x402b96
call sub.msvcrt.dll__getch
mov dword [ebp - 0x120], eax
jmp 0x4028d2
mov eax, 0
mov byte [0x405d80], al
mov eax, 0
mov byte [0x405da8], al
mov eax, 0
mov byte [0x405dd0], al
mov eax, 1
mov byte [0x405d80], al
mov eax, 0
mov byte [0x405da8], al
mov eax, 0
mov byte [0x405dd0], al
mov eax, 1
mov byte [0x405d80], al
mov eax, 1
mov byte [0x405da8], al
mov eax, 0
mov byte [0x405dd0], al
mov eax, 1
mov byte [0x405d80], al
mov eax, 1
mov byte [0x405da8], al
mov eax, 1
mov byte [0x405dd0], al
mov eax, 0
mov byte [0x405d94], al
mov eax, 0
mov byte [0x405dbc], al
mov eax, 0
mov byte [0x405de4], al
movzx eax, byte [0x405d94]
movzx ecx, byte [0x405d94]
cmp eax, ecx
mov eax, 0
sete al
cmp eax, 0
je 0x40284f
jmp 0x402859
mov eax, 0
jmp 0x40285e
mov eax, 1
movzx eax, byte [0x405dbc]
movzx ecx, byte [0x405dbc]
cmp eax, ecx
mov eax, 0
sete al
cmp eax, 0
je 0x402884
jmp 0x40288e
mov eax, 0
jmp 0x402893
mov eax, 1
movzx eax, byte [0x405de4]
movzx ecx, byte [0x405de4]
cmp eax, ecx
mov eax, 0
sete al
cmp eax, 0
je 0x4028b9
jmp 0x4028c3
mov eax, 0
jmp 0x4028c8
mov eax, 1
jmp 0x40292e
mov eax, dword [ebp - 0x120]
cmp eax, 0x3f
jg 0x402913
cmp eax, 0x3f
jge 0x402808
cmp eax, 0x3b
je 0x402784
cmp eax, 0x3c
je 0x4027a5
cmp eax, 0x3d
je 0x4027c6
cmp eax, 0x3e
je 0x4027e7
jmp 0x40292e
cmp eax, 0x40
je 0x402829
cmp eax, 0x41
je 0x40285e
cmp eax, 0x42
je 0x402893
jmp 0x402b96
mov eax, 0
mov dword [ebp - 0x11c], eax
mov eax, str.Select:_0_to_1
push eax
call sub.msvcrt.dll_puts
add esp, 4
jmp 0x402b96
mov eax, 1
mov dword [ebp - 0x11c], eax
mov eax, str.Select:_1_to_0
push eax
call sub.msvcrt.dll_puts
add esp, 4
jmp 0x402b96
mov eax, 2
mov dword [ebp - 0x11c], eax
mov eax, str.Select:_0_to_2
push eax
call sub.msvcrt.dll_puts
add esp, 4
jmp 0x402b96
mov eax, 3
mov dword [ebp - 0x11c], eax
mov eax, str.Select:_2_to_0
push eax
call sub.msvcrt.dll_puts
add esp, 4
jmp 0x402b96
mov eax, 4
mov dword [ebp - 0x11c], eax
mov eax, str.Select:_0_to_3
push eax
call sub.msvcrt.dll_puts
add esp, 4
jmp 0x402b96
mov eax, 5
mov dword [ebp - 0x11c], eax
mov eax, str.Select:_3_to_0
push eax
call sub.msvcrt.dll_puts
add esp, 4
jmp 0x402b96
jmp 0x402b96
mov eax, dword [ebp - 0x120]
cmp eax, 0x50
jg 0x402ace
cmp eax, 0x50
jge 0x40249c
cmp eax, 0x35
jg 0x402a73
cmp eax, 0x35
jge 0x4024e8
cmp eax, 0x31
jg 0x402a53
cmp eax, 0x31
jge 0x4024e8
cmp eax, 0
je 0x402774
cmp eax, 0xd
je 0x4026ed
cmp eax, 0x20
je 0x4026ed
cmp eax, 0x30
je 0x4024e8
jmp 0x4029e7
cmp eax, 0x32
je 0x4024e8
cmp eax, 0x33
je 0x4024e8
cmp eax, 0x34
je 0x4024e8
jmp 0x4029e7
cmp eax, 0x41
jg 0x402aae
cmp eax, 0x41
jge 0x402933
cmp eax, 0x36
je 0x4024e8
cmp eax, 0x37
je 0x4024e8
cmp eax, 0x38
je 0x4024e8
cmp eax, 0x39
je 0x4024e8
jmp 0x4029e7
cmp eax, 0x43
je 0x4029c9
cmp eax, 0x44
je 0x4029ab
cmp eax, 0x4c
je 0x40264c
jmp 0x4029e7
cmp eax, 0x64
jg 0x402b3b
cmp eax, 0x64
jge 0x4029ab
cmp eax, 0x58
jg 0x402b1b
cmp eax, 0x58
jge 0x40298d
cmp eax, 0x52
je 0x4025ab
cmp eax, 0x53
je 0x40296f
cmp eax, 0x54
je 0x402476
cmp eax, 0x56
je 0x4024c2
jmp 0x4029e7
cmp eax, 0x5a
je 0x402951
cmp eax, 0x61
je 0x402933
cmp eax, 0x63
je 0x4029c9
jmp 0x4029e7
cmp eax, 0x74
jg 0x402b76
cmp eax, 0x74
jge 0x402476
cmp eax, 0x6c
je 0x40264c
cmp eax, 0x70
je 0x40249c
cmp eax, 0x72
je 0x4025ab
cmp eax, 0x73
je 0x40296f
jmp 0x4029e7
cmp eax, 0x76
je 0x4024c2
cmp eax, 0x78
je 0x40298d
cmp eax, 0x7a
je 0x402951
jmp 0x4029e7
jmp 0x402466