Function at 0x46fa44
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x46faf5
mov edi, 0x10000000
cmp eax, 0x7c
je 0x46faf5
cmp eax, 0x29
je 0x4b610e
cmp eax, 0x2e
je 0x4b6128
cmp eax, 0x5c
je 0x4b613e
cmp eax, 0x5b
je 0x4b618f
cmp eax, 0x28
je 0x4b61aa
cmp eax, 0x5e
je 0x46fafb
cmp eax, 0x24
je 0x4b6156
cmp eax, 0x2a
je 0x46fb02
cmp eax, 0x2b
je 0x46fb02
cmp eax, 0x3f
je 0x46fb02
cmp eax, 0x7b
je 0x46fb02
cmp eax, 0x7d
je 0x4b61c9
cmp eax, 0x5d
je 0x4b61d9
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.0046fd1d
mov bl, 1
mov ecx, esi
call fcn.0046fb4c
test bl, bl
je 0x46fae7
mov ecx, esi
call 0x46fb0a
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x46fa5c
pop edi
pop esi
mov al, cl
pop ebx
ret
push 2
jmp 0x4b6158
push 0xa
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
or edi, 0xffffffff
mov eax, dword [esi + 0x4c]
cmp eax, 0x2a
je 0x4b6238
cmp eax, 0x2b
je 0x46fb3c
cmp eax, 0x3f
je 0x46fb44
cmp eax, 0x7b
je 0x4b61e3
pop edi
pop esi
pop ebx
leave
ret
xor ebx, ebx
inc ebx
jmp 0x4b6238
xor edi, edi
inc edi
jmp 0x4b6238
cmp dword [esi + 0x10], 0
jne 0x46faf5
test dword [esi + 0x50], edi
jne 0x46fa6e
push 5
jmp 0x46fb04
push 5
lea ecx, [esi + 0x24]
call fcn.0046fddd
mov ecx, esi
call fcn.0046fb4c
jmp 0x46fae0
mov ecx, esi
call fcn.0046fb4c
test byte [esi + 0x50], 0x80
je 0x4b6183
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x4b617f
push 4
jmp 0x4b6158
push 3
lea ecx, [esi + 0x24]
call fcn.0046fddd
jmp 0x4b6173
push 4
lea ecx, [esi + 0x24]
call fcn.0046fddd
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov ecx, esi
call fcn.0046fb4c
jmp 0x46fae7
cmp al, 0x42
je 0x4b6162
mov ecx, esi
call fcn.004d07a9
jmp 0x46fae0
mov ecx, esi
call fcn.0046fb4c
mov ecx, esi
call fcn.004d0ec3
cmp dword [esi + 0x4c], 0x5d
je 0x4b6132
push 4
jmp 0x46fb04
mov ecx, esi
call fcn.0046fb4c
mov ecx, esi
call fcn.004d20be
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x4b6121
jmp 0x46fad5
test dword [esi + 0x50], edi
jne 0x46fabd
push 6
jmp 0x46fb04
test dword [esi + 0x50], edi
je 0x4b61a3
jmp 0x46fac6
call fcn.0046fb4c
mov ecx, esi
call fcn.004d137a
test al, al
je 0x4b6230
mov eax, dword [esi + 0x4c]
mov ebx, dword [esi + 0x44]
cmp eax, 0x2c
je 0x4b6202
mov edi, ebx
jmp 0x4b6222
mov ecx, esi
call fcn.0046fb4c
mov eax, dword [esi + 0x4c]
cmp eax, 0x7d
je 0x4b6227
mov ecx, esi
call fcn.004d137a
test al, al
je 0x4b6230
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x4c]
cmp eax, 0x7d
jne 0x4b6230
cmp edi, 0xffffffff
je 0x4b6238
cmp edi, ebx
jge 0x4b6238
push 7
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
mov eax, dword [esi + 0x28]
mov ecx, esi
or dword [eax + 8], 4
call fcn.0046fb4c
test dword [esi + 0x50], 0x400
je 0x4b6262
cmp dword [esi + 0x4c], 0x3f
jne 0x4b6262
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0046fb4c
jmp 0x4b6266
mov byte [ebp - 4], 1
push dword [ebp - 4]
lea ecx, [esi + 0x24]
push edi
push ebx
call fcn.004d05e0
jmp 0x46fb37