Function at 0x432ce5
Capabilities:
Parse credit card information

Disassembly:
push 0x20
mov eax, 0x47963b
call fcn.00434bdd
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
push ebx
call fcn.004320e5
xor edi, edi
cmp ebx, edi
je 0x4333bf
cmp eax, edi
jne 0x4333bf
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebp - 0x14], edi
call dword [eax + 4]
cmp eax, 9
jne 0x432d5f
push 0x2c
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 0x14], eax
cmp eax, edi
mov dword [ebp - 4], edi
je 0x432d39
mov ecx, eax
call fcn.0041d7a2
mov edi, eax
mov ecx, dword [ebp + 0x18]
or dword [ebp - 4], 0xffffffff
push edi
push ebx
mov dword [ebp - 0x14], edi
call fcn.0043232c
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push ebx
push edi
push dword [ebp + 8]
call fcn.004323fd
jmp 0x4333ad
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push 0xb
pop esi
cmp eax, esi
jne 0x432d9b
push 0x24
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 1
je 0x432d94
movzx ecx, byte [ebx + 0x20]
push ecx
mov ecx, eax
call fcn.004479c0
jmp 0x432fa6
xor eax, eax
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x10
je 0x433246
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
cmp eax, 0x10
je 0x433246
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x25
jne 0x432dec
push 0x24
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 5
je 0x432d94
push dword [ebx + 0x20]
mov ecx, eax
call fcn.004471b2
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x27
jne 0x432e2d
push 0x30
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 6
je 0x432d94
sub esp, 0x10
lea eax, [ebx + 0x20]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, dword [ebp + 8]
call fcn.00447827
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x17
jne 0x432e67
push 0x28
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 7
je 0x432d94
fld qword [ebx + 0x20]
push ecx
push ecx
mov ecx, eax
fstp qword [esp]
call fcn.0044ba4f
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x3c
je 0x432fbc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
push 0xc
pop edi
cmp eax, edi
je 0x432fbc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
cmp eax, 0x3c
je 0x432fbc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0xc]
cmp eax, edi
je 0x432fbc
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x3d
jne 0x432eed
push 0x30
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 9
je 0x432d94
sub esp, 0x10
lea eax, [ebx + 0x20]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, dword [ebp + 8]
call fcn.0044cfee
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x40
jne 0x432f2f
push 0x30
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], 0xa
je 0x432d94
sub esp, 0x10
lea eax, [ebx + 0x20]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, dword [ebp + 8]
call fcn.0044d2a7
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x3f
jne 0x432f6d
push 0x40
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], esi
je 0x432d94
sub esp, 0x10
lea eax, [ebx + 0x20]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov ecx, dword [ebp + 8]
call fcn.0044d13f
jmp 0x432fa6
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
cmp eax, 0x36
jne 0x4333ba
push 0x20
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 8], eax
test eax, eax
mov dword [ebp - 4], edi
je 0x432f98
mov ecx, eax
call fcn.0044d87e
jmp 0x432f9a
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebx + 0xc]
mov dword [eax + 0xc], ecx
mov ecx, dword [ebp + 0x18]
or dword [ebp - 4], 0xffffffff
push eax
push ebx
mov dword [ebp - 0x14], eax
call fcn.0043232c
jmp 0x4333ad
and dword [ebp - 0x20], 0
mov ecx, ebx
call fcn.0043dfcf
push 0x58
mov edi, eax
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 0x10], eax
test eax, eax
mov dword [ebp - 4], 8
je 0x432feb
push 0
push edi
mov ecx, eax
call fcn.0043e468
jmp 0x432fed
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
xor eax, eax
sub esp, 0x10
lea edi, [ebp + 0x13]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp - 0x28], esp
lea eax, [ebp + 0x13]
push eax
push 0x402420
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea ecx, [ebx + 0x20]
call fcn.00444cb3
test eax, eax
je 0x433051
lea ecx, [eax + 0x20]
mov edi, 0x401a70
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov esi, eax
push 8
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x433051
mov eax, dword [ebp + 0x14]
push dword [ebp - 0x18]
mov ecx, dword [ebp + 0xc]
mov byte [eax], 0
call fcn.004420b3
mov dword [ebp - 0x20], 1
push dword [ebp + 0xc]
mov edi, dword [ebp - 0x18]
push dword [ebp + 0x18]
lea esi, [ebx + 0x20]
push esi
lea eax, [edi + 0x20]
push eax
push dword [ebp + 8]
call fcn.004333d2
push ebx
mov ecx, edi
call fcn.0043dcb9
cmp dword [ebp - 0x20], 0
je 0x433238
xor eax, eax
sub esp, 0x10
lea edi, [ebp + 0x1b]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp + 0xc], esp
lea eax, [ebp + 0x1b]
push eax
push 0x402480
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00444cb3
mov dword [ebp - 0x24], eax
xor eax, eax
sub esp, 0x10
lea edi, [ebp + 0xf]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp + 0x14], esp
lea eax, [ebp + 0xf]
push eax
push 0x401b74
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00444cb3
mov dword [ebp - 0x28], eax
xor eax, eax
sub esp, 0x10
lea edi, [ebp + 0x17]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp + 0x10], esp
lea eax, [ebp + 0x17]
push eax
push 0x4024d4
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00444cb3
mov dword [ebp - 0x20], eax
xor eax, eax
sub esp, 0x10
lea edi, [ebp + 0x13]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp - 0x1c], esp
lea eax, [ebp + 0x13]
push eax
push 0x4024cc
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00444cb3
mov dword [ebp - 0x1c], eax
xor eax, eax
sub esp, 0x10
lea edi, [ebp - 0xd]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp - 0x2c], esp
lea eax, [ebp - 0xd]
push eax
push 0x401b5c
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, esi
call fcn.00444cb3
cmp dword [ebp - 0x24], 0
mov esi, eax
je 0x433228
cmp dword [ebp - 0x28], 0
je 0x433228
cmp dword [ebp - 0x20], 0
je 0x433228
cmp dword [ebp - 0x1c], 0
je 0x433228
mov ecx, dword [ebp - 0x24]
push 5
push 0x4024c4
add ecx, 0x20
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x433228
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x20], 8
jne 0x433228
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x20], 0
jle 0x433228
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x20], 0
jle 0x433228
test esi, esi
je 0x4331cb
lea ecx, [esi + 0x20]
mov edi, 0x4024b8
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov esi, eax
push 0xb
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x433228
push dword [ebp - 0x18]
push dword [ebp + 8]
call fcn.00417219
cmp dword [ebp + 8], 0
je 0x4333ad
mov eax, dword [ebp + 8]
cmp dword [eax + 0x55a0], 0
je 0x4333ad
cmp word [eax + 0x55a4], 1
jne 0x4333ad
mov ecx, dword [ebp - 0x18]
call fcn.0043dfc6
test eax, eax
je 0x4333ad
mov ecx, dword [ebp - 0x1c]
push 0
push dword [ecx + 0x20]
mov ecx, dword [ebp - 0x20]
push dword [ecx + 0x20]
mov ecx, eax
call fcn.0043d7b6
jmp 0x4333ad
push dword [ebp - 0x18]
push dword [ebp + 8]
call fcn.0041729b
jmp 0x4333ad
push edi
push dword [ebp + 8]
call fcn.0041732d
jmp 0x4333ad
xor eax, eax
sub esp, 0x10
lea edi, [ebp + 0x13]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp - 0x2c], esp
lea eax, [ebp + 0x13]
push eax
push 0x402420
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebx
call fcn.00444cb3
mov esi, eax
xor eax, eax
sub esp, 0x10
lea edi, [ebp - 0xe]
stosb byte es:[edi], al
mov ecx, esp
mov dword [ebp - 0x2c], esp
lea eax, [ebp - 0xe]
push eax
push 0x402480
call dword [sym.imp.msvcp60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
mov ecx, ebx
call fcn.00444cb3
test esi, esi
mov dword [ebp - 0x24], eax
je 0x43336d
lea ecx, [esi + 0x20]
mov dword [ebp - 0x28], ecx
mov edi, 0x402418
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov esi, eax
push 5
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4332e0
push 0x80
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 0x14], eax
test eax, eax
mov dword [ebp - 4], 2
je 0x43338c
mov ecx, eax
call fcn.0043e74f
jmp 0x43338e
mov ecx, dword [ebp - 0x28]
mov edi, 0x402478
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov esi, eax
push 5
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x433332
push 0x2c
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 0x10], eax
test eax, eax
mov dword [ebp - 4], 3
je 0x433318
mov ecx, eax
call fcn.00430927
jmp 0x43331a
xor eax, eax
mov ecx, dword [ebp + 0x14]
or dword [ebp - 4], 0xffffffff
mov byte [ecx], 0
mov ecx, dword [ebp + 0xc]
push eax
mov dword [ebp - 0x14], eax
call fcn.004420b3
jmp 0x433395
cmp dword [ebp - 0x24], 0
je 0x43336d
mov ecx, dword [ebp - 0x28]
mov edi, 0x402470
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov esi, eax
push 6
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x43336d
mov ecx, dword [ebp - 0x24]
add ecx, 0x20
mov edi, 0x402468
call dword [sym.imp.msvcp60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
mov esi, eax
push 7
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4333ba
push 0x2c
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp + 0x14], eax
test eax, eax
mov dword [ebp - 4], 4
je 0x43338c
mov ecx, eax
call fcn.00430927
jmp 0x43338e
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4333ba
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push ebx
push dword [ebp - 0x14]
push dword [ebp + 8]
call fcn.004333d2
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4333ba
mov cl, byte [ebx + 0xa]
mov byte [eax + 0xa], cl
mov eax, dword [ebp - 0x14]
jmp 0x4333c5
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 0
call fcn.00434cc9
ret 0x14