Function at 0x415bd0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x415f64
push ebx
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x415f63
cmp eax, 0x29
jne 0x415c08
cmp dword [esi + 0x10], 0
jne 0x415f63
test dword [esi + 0x50], 0x10000000
je 0x415f68
cmp eax, 0x2e
jne 0x415cb4
push 0x14
call fcn.0045275b
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x415c45
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 0x415c47
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 0x415c63
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 0x415ca8
cmp byte [eax], 0x5c
jne 0x415ca6
inc eax
cmp eax, ecx
je 0x415ca6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415c93
mov dl, byte [eax]
cmp dl, 0x28
je 0x415ca4
cmp dl, 0x29
je 0x415ca4
test cl, 0x10
jne 0x415ca6
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415ca4
cmp cl, 0x7d
jne 0x415ca6
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
jmp 0x415f50
cmp eax, 0x5c
jne 0x415dd1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415cf9
cmp byte [eax], 0x5c
jne 0x415cf7
inc eax
cmp eax, ecx
je 0x415cf7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415ce4
mov dl, byte [eax]
cmp dl, 0x28
je 0x415cf5
cmp dl, 0x29
je 0x415cf5
test cl, 0x10
jne 0x415cf7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415cf5
cmp cl, 0x7d
jne 0x415cf7
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x415d62
cmp byte [esi + 0x48], 0x62
jne 0x415d62
push 4
lea ecx, [esi + 0x24]
call fcn.004187c0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415d56
cmp byte [eax], 0x5c
jne 0x415d54
inc eax
cmp eax, ecx
je 0x415d54
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x415d41
mov cl, byte [eax]
cmp cl, 0x28
je 0x415d52
cmp cl, 0x29
je 0x415d52
test dl, 0x10
jne 0x415d54
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415d52
cmp cl, 0x7d
jne 0x415d54
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
jmp 0x415f57
test eax, eax
je 0x415dc5
cmp byte [esi + 0x48], 0x42
jne 0x415dc5
push 4
lea ecx, [esi + 0x24]
call fcn.004187c0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415db9
cmp byte [eax], 0x5c
jne 0x415db7
inc eax
cmp eax, ecx
je 0x415db7
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x415da4
mov cl, byte [eax]
cmp cl, 0x28
je 0x415db5
cmp cl, 0x29
je 0x415db5
test dl, 0x10
jne 0x415db7
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415db5
cmp cl, 0x7d
jne 0x415db7
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
jmp 0x415f57
mov ecx, esi
call fcn.00415ff0
jmp 0x415f50
cmp eax, 0x5b
jne 0x415e76
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415e16
cmp byte [eax], 0x5c
jne 0x415e14
inc eax
cmp eax, ecx
je 0x415e14
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415e01
mov dl, byte [eax]
cmp dl, 0x28
je 0x415e12
cmp dl, 0x29
je 0x415e12
test cl, 0x10
jne 0x415e14
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415e12
cmp cl, 0x7d
jne 0x415e14
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
mov ecx, esi
call fcn.00416600
cmp dword [esi + 0x4c], 0x5d
jne 0x415f6f
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415e6a
cmp byte [eax], 0x5c
jne 0x415e68
inc eax
cmp eax, ecx
je 0x415e68
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415e55
mov dl, byte [eax]
cmp dl, 0x28
je 0x415e66
cmp dl, 0x29
je 0x415e66
test cl, 0x10
jne 0x415e68
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415e66
cmp cl, 0x7d
jne 0x415e68
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
jmp 0x415f50
cmp eax, 0x28
jne 0x415edc
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x415eb7
cmp byte [eax], 0x5c
jne 0x415eb5
inc eax
cmp eax, ecx
je 0x415eb5
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x415ea2
mov dl, byte [eax]
cmp dl, 0x28
je 0x415eb3
cmp dl, 0x29
je 0x415eb3
test cl, 0x10
jne 0x415eb5
mov cl, byte [eax]
cmp cl, 0x7b
je 0x415eb3
cmp cl, 0x7d
jne 0x415eb5
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.00419190
mov ecx, esi
call fcn.004193b0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.00417bb0
test bl, bl
je 0x415f57
jmp 0x415f50
cmp eax, 0x5e
jne 0x415ef4
push 2
lea ecx, [esi + 0x24]
call fcn.004187c0
mov ecx, esi
call fcn.00418830
jmp 0x415f57
cmp eax, 0x24
jne 0x415f0c
push 3
lea ecx, [esi + 0x24]
call fcn.004187c0
mov ecx, esi
call fcn.00418830
jmp 0x415f57
cmp eax, 0x2a
je 0x415f7d
cmp eax, 0x2b
je 0x415f7d
cmp eax, 0x3f
je 0x415f7d
cmp eax, 0x7b
je 0x415f7d
cmp eax, 0x7d
jne 0x415f2e
test dword [esi + 0x50], 0x10000000
je 0x415f76
cmp eax, 0x5d
jne 0x415f3c
test dword [esi + 0x50], 0x10000000
je 0x415f6f
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00415410
mov ecx, esi
call fcn.00418830
mov ecx, esi
call fcn.00418880
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x415be0
pop ebx
mov al, cl
pop esi
ret
push 5
call fcn.004517d3
push 4
call fcn.004517d3
push 6
call fcn.004517d3
push 0xa
call fcn.004517d3
int3