Function at 0x416830
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x416bc4
push ebx
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x416bc3
cmp eax, 0x29
jne 0x416868
cmp dword [esi + 0x10], 0
jne 0x416bc3
test dword [esi + 0x50], 0x10000000
je 0x416bc8
cmp eax, 0x2e
jne 0x416914
push 0x14
call fcn.004518c6
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x4168a5
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x4168a7
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4168c3
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x28]
mov dword [eax + 0xc], ecx
mov dword [esi + 0x28], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x416908
cmp byte [eax], 0x5c
jne 0x416906
inc eax
cmp eax, ecx
je 0x416906
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4168f3
mov dl, byte [eax]
cmp dl, 0x28
je 0x416904
cmp dl, 0x29
je 0x416904
test cl, 0x10
jne 0x416906
mov cl, byte [eax]
cmp cl, 0x7b
je 0x416904
cmp cl, 0x7d
jne 0x416906
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
jmp 0x416bb0
cmp eax, 0x5c
jne 0x416a31
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x416959
cmp byte [eax], 0x5c
jne 0x416957
inc eax
cmp eax, ecx
je 0x416957
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x416944
mov dl, byte [eax]
cmp dl, 0x28
je 0x416955
cmp dl, 0x29
je 0x416955
test cl, 0x10
jne 0x416957
mov cl, byte [eax]
cmp cl, 0x7b
je 0x416955
cmp cl, 0x7d
jne 0x416957
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x4169c2
cmp byte [esi + 0x48], 0x62
jne 0x4169c2
push 4
lea ecx, [esi + 0x24]
call fcn.00419420
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x4169b6
cmp byte [eax], 0x5c
jne 0x4169b4
inc eax
cmp eax, ecx
je 0x4169b4
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4169a1
mov cl, byte [eax]
cmp cl, 0x28
je 0x4169b2
cmp cl, 0x29
je 0x4169b2
test dl, 0x10
jne 0x4169b4
mov cl, byte [eax]
cmp cl, 0x7b
je 0x4169b2
cmp cl, 0x7d
jne 0x4169b4
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
jmp 0x416bb7
test eax, eax
je 0x416a25
cmp byte [esi + 0x48], 0x42
jne 0x416a25
push 4
lea ecx, [esi + 0x24]
call fcn.00419420
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x416a19
cmp byte [eax], 0x5c
jne 0x416a17
inc eax
cmp eax, ecx
je 0x416a17
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x416a04
mov cl, byte [eax]
cmp cl, 0x28
je 0x416a15
cmp cl, 0x29
je 0x416a15
test dl, 0x10
jne 0x416a17
mov cl, byte [eax]
cmp cl, 0x7b
je 0x416a15
cmp cl, 0x7d
jne 0x416a17
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
jmp 0x416bb7
mov ecx, esi
call fcn.00416c50
jmp 0x416bb0
cmp eax, 0x5b
jne 0x416ad6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x416a76
cmp byte [eax], 0x5c
jne 0x416a74
inc eax
cmp eax, ecx
je 0x416a74
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x416a61
mov dl, byte [eax]
cmp dl, 0x28
je 0x416a72
cmp dl, 0x29
je 0x416a72
test cl, 0x10
jne 0x416a74
mov cl, byte [eax]
cmp cl, 0x7b
je 0x416a72
cmp cl, 0x7d
jne 0x416a74
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
mov ecx, esi
call fcn.00417260
cmp dword [esi + 0x4c], 0x5d
jne 0x416bcf
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x416aca
cmp byte [eax], 0x5c
jne 0x416ac8
inc eax
cmp eax, ecx
je 0x416ac8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x416ab5
mov dl, byte [eax]
cmp dl, 0x28
je 0x416ac6
cmp dl, 0x29
je 0x416ac6
test cl, 0x10
jne 0x416ac8
mov cl, byte [eax]
cmp cl, 0x7b
je 0x416ac6
cmp cl, 0x7d
jne 0x416ac8
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
jmp 0x416bb0
cmp eax, 0x28
jne 0x416b3c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x416b17
cmp byte [eax], 0x5c
jne 0x416b15
inc eax
cmp eax, ecx
je 0x416b15
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x416b02
mov dl, byte [eax]
cmp dl, 0x28
je 0x416b13
cmp dl, 0x29
je 0x416b13
test cl, 0x10
jne 0x416b15
mov cl, byte [eax]
cmp cl, 0x7b
je 0x416b13
cmp cl, 0x7d
jne 0x416b15
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419ed0
mov ecx, esi
call fcn.0041a0f0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00418820
test bl, bl
je 0x416bb7
jmp 0x416bb0
cmp eax, 0x5e
jne 0x416b54
push 2
lea ecx, [esi + 0x24]
call fcn.00419420
mov ecx, esi
call fcn.00419490
jmp 0x416bb7
cmp eax, 0x24
jne 0x416b6c
push 3
lea ecx, [esi + 0x24]
call fcn.00419420
mov ecx, esi
call fcn.00419490
jmp 0x416bb7
cmp eax, 0x2a
je 0x416bdd
cmp eax, 0x2b
je 0x416bdd
cmp eax, 0x3f
je 0x416bdd
cmp eax, 0x7b
je 0x416bdd
cmp eax, 0x7d
jne 0x416b8e
test dword [esi + 0x50], 0x10000000
je 0x416bd6
cmp eax, 0x5d
jne 0x416b9c
test dword [esi + 0x50], 0x10000000
je 0x416bcf
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00416070
mov ecx, esi
call fcn.00419490
mov ecx, esi
call fcn.004194e0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x416840
pop ebx
mov al, cl
pop esi
ret
push 5
call fcn.0045093e
push 4
call fcn.0045093e
push 6
call fcn.0045093e
push 0xa
call fcn.0045093e
int3