Function at 0x5a72e0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x60dc3b
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
mov eax, dword [0x6a4108]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x5a76a3
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x5a76a3
cmp eax, 0x29
jne 0x5a733b
cmp dword [esi + 0x10], 0
jne 0x5a76a3
test dword [esi + 0x50], 0x10000000
je 0x5a76b6
cmp eax, 0x2e
jne 0x5a73f8
push 0x14
call fcn.005c686d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x5a7382
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 0x5a7384
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x5a73a7
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 0x5a73ec
cmp byte [eax], 0x5c
jne 0x5a73ea
inc eax
cmp eax, ecx
je 0x5a73ea
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5a73d7
mov dl, byte [eax]
cmp dl, 0x28
je 0x5a73e8
cmp dl, 0x29
je 0x5a73e8
test cl, 0x10
jne 0x5a73ea
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a73e8
cmp cl, 0x7d
jne 0x5a73ea
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
jmp 0x5a7690
cmp eax, 0x5c
jne 0x5a7515
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5a743d
cmp byte [eax], 0x5c
jne 0x5a743b
inc eax
cmp eax, ecx
je 0x5a743b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5a7428
mov dl, byte [eax]
cmp dl, 0x28
je 0x5a7439
cmp dl, 0x29
je 0x5a7439
test cl, 0x10
jne 0x5a743b
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a7439
cmp cl, 0x7d
jne 0x5a743b
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x5a74a6
cmp byte [esi + 0x48], 0x62
jne 0x5a74a6
lea ecx, [esi + 0x24]
push 4
call fcn.005a9bb0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5a749a
cmp byte [eax], 0x5c
jne 0x5a7498
inc eax
cmp eax, ecx
je 0x5a7498
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5a7485
mov cl, byte [eax]
cmp cl, 0x28
je 0x5a7496
cmp cl, 0x29
je 0x5a7496
test dl, 0x10
jne 0x5a7498
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a7496
cmp cl, 0x7d
jne 0x5a7498
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
jmp 0x5a7697
test eax, eax
je 0x5a7509
cmp byte [esi + 0x48], 0x42
jne 0x5a7509
lea ecx, [esi + 0x24]
push 4
call fcn.005a9bb0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5a74fd
cmp byte [eax], 0x5c
jne 0x5a74fb
inc eax
cmp eax, ecx
je 0x5a74fb
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5a74e8
mov cl, byte [eax]
cmp cl, 0x28
je 0x5a74f9
cmp cl, 0x29
je 0x5a74f9
test dl, 0x10
jne 0x5a74fb
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a74f9
cmp cl, 0x7d
jne 0x5a74fb
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
jmp 0x5a7697
mov ecx, esi
call fcn.005a76e0
jmp 0x5a7690
cmp eax, 0x5b
jne 0x5a75ba
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5a755a
cmp byte [eax], 0x5c
jne 0x5a7558
inc eax
cmp eax, ecx
je 0x5a7558
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5a7545
mov dl, byte [eax]
cmp dl, 0x28
je 0x5a7556
cmp dl, 0x29
je 0x5a7556
test cl, 0x10
jne 0x5a7558
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a7556
cmp cl, 0x7d
jne 0x5a7558
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
mov ecx, esi
call fcn.005a7d60
cmp dword [esi + 0x4c], 0x5d
jne 0x5a76bd
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5a75ae
cmp byte [eax], 0x5c
jne 0x5a75ac
inc eax
cmp eax, ecx
je 0x5a75ac
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5a7599
mov dl, byte [eax]
cmp dl, 0x28
je 0x5a75aa
cmp dl, 0x29
je 0x5a75aa
test cl, 0x10
jne 0x5a75ac
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a75aa
cmp cl, 0x7d
jne 0x5a75ac
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
jmp 0x5a7690
cmp eax, 0x28
jne 0x5a761c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5a75fb
cmp byte [eax], 0x5c
jne 0x5a75f9
inc eax
cmp eax, ecx
je 0x5a75f9
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5a75e6
mov dl, byte [eax]
cmp dl, 0x28
je 0x5a75f7
cmp dl, 0x29
je 0x5a75f7
test cl, 0x10
jne 0x5a75f9
mov cl, byte [eax]
cmp cl, 0x7b
je 0x5a75f7
cmp cl, 0x7d
jne 0x5a75f9
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.005aa130
mov ecx, esi
call fcn.005aa2e0
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.005a93b0
test bl, bl
je 0x5a7697
jmp 0x5a7690
cmp eax, 0x5e
jne 0x5a7634
lea ecx, [esi + 0x24]
push 2
call fcn.005a9bb0
mov ecx, esi
call fcn.005a9c60
jmp 0x5a7697
cmp eax, 0x24
jne 0x5a764c
lea ecx, [esi + 0x24]
push 3
call fcn.005a9bb0
mov ecx, esi
call fcn.005a9c60
jmp 0x5a7697
cmp eax, 0x2a
je 0x5a76cb
cmp eax, 0x2b
je 0x5a76cb
cmp eax, 0x3f
je 0x5a76cb
cmp eax, 0x7b
je 0x5a76cb
cmp eax, 0x7d
jne 0x5a766e
test dword [esi + 0x50], 0x10000000
je 0x5a76c4
cmp eax, 0x5d
jne 0x5a767c
test dword [esi + 0x50], 0x10000000
je 0x5a76bd
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.005a6900
mov ecx, esi
call fcn.005a9c60
mov ecx, esi
call fcn.005a9cb0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x5a7313
mov al, cl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 5
call fcn.005e24c5
push 4
call fcn.005e24c5
push 6
call fcn.005e24c5
push 0xa
call fcn.005e24c5
int3