Function at 0x1004baa0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x1004bb57
cmp eax, 0x7c
je 0x1004bb57
cmp eax, 0x29
jne 0x1004bb60
cmp dword [esi + 0x10], 0
jne 0x1004bb57
test dword [esi + 0x50], 0x10000000
je 0x1004bf3a
cmp eax, 0x5d
jne 0x1004baf2
test dword [esi + 0x50], 0x10000000
je 0x1004bf41
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.1004cf70
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x1004bb3b
cmp byte [eax], 0x5c
jne 0x1004bb39
inc eax
cmp eax, ecx
je 0x1004bb39
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004bb26
mov dl, byte [eax]
cmp dl, 0x28
je 0x1004bb37
cmp dl, 0x29
je 0x1004bb37
test cl, 0x10
jne 0x1004bb39
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1004bb37
cmp cl, 0x7d
jne 0x1004bb39
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1004a3d0
mov ecx, esi
call fcn.1004ce20
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x1004bab7
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x2e
jne 0x1004bbc0
push 0x14
call fcn.100533df
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x1004bbb5
mov dword [ecx + 0xc], edx
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
jmp 0x1004baff
cmp eax, 0x5c
jne 0x1004bd2c
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004bc05
cmp byte [eax], 0x5c
jne 0x1004bc03
inc eax
cmp eax, ecx
je 0x1004bc03
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004bbf0
mov dl, byte [eax]
cmp dl, 0x28
je 0x1004bc01
cmp dl, 0x29
je 0x1004bc01
test cl, 0x10
jne 0x1004bc03
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1004bc01
cmp cl, 0x7d
jne 0x1004bc03
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1004a3d0
test byte [esi + 0x50], 0x80
je 0x1004bd20
cmp byte [esi + 0x48], 0x62
jne 0x1004bcb9
push 0x14
call fcn.100533df
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x1004bc70
mov dword [ecx + 0xc], edx
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 0x1004bef5
cmp byte [eax], 0x5c
jne 0x1004bef3
inc eax
cmp eax, ecx
je 0x1004bef3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x1004bcb1
mov cl, byte [eax]
cmp cl, 0x28
je 0x1004bef1
cmp cl, 0x29
je 0x1004bef1
test dl, 0x10
jmp 0x1004bee3
cmp byte [esi + 0x48], 0x42
jne 0x1004bd20
push 0x14
call fcn.100533df
mov ecx, eax
add esp, 4
mov dword [ebp - 4], ecx
mov dword [ecx + 0x10], 0
mov dword [ecx], vtable.std::_Node_base.0
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x1004bd0f
mov dword [ecx + 0xc], edx
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 eax, ecx
mov dword [esi + 0x28], ecx
xor dword [eax + 8], 1
jmp 0x1004bc76
mov ecx, esi
call fcn.1004cbd0
jmp 0x1004bb42
cmp eax, 0x5b
jne 0x1004bdd4
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004bd71
cmp byte [eax], 0x5c
jne 0x1004bd6f
inc eax
cmp eax, ecx
je 0x1004bd6f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004bd5c
mov dl, byte [eax]
cmp dl, 0x28
je 0x1004bd6d
cmp dl, 0x29
je 0x1004bd6d
test cl, 0x10
jne 0x1004bd6f
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1004bd6d
cmp cl, 0x7d
jne 0x1004bd6f
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1004a3d0
lea ecx, [esi + 0x24]
call fcn.1004e470
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x1004bd99
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.1004ba40
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x1004bdb7
cmp eax, 0x5d
jne 0x1004bdb7
push eax
lea ecx, [esi + 0x24]
call fcn.1004e500
mov ecx, esi
call fcn.1004ba40
mov ecx, esi
call fcn.1004dfb0
cmp dword [esi + 0x4c], 0x5d
jne 0x1004bf41
mov ecx, esi
call fcn.1004ba40
jmp 0x1004bb42
cmp eax, 0x28
jne 0x1004be43
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x1004be15
cmp byte [eax], 0x5c
jne 0x1004be13
inc eax
cmp eax, ecx
je 0x1004be13
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004be00
mov dl, byte [eax]
cmp dl, 0x28
je 0x1004be11
cmp dl, 0x29
je 0x1004be11
test cl, 0x10
jne 0x1004be13
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1004be11
cmp cl, 0x7d
jne 0x1004be13
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1004a3d0
mov ecx, esi
call fcn.1004cd20
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x1004bf3a
mov ecx, esi
call fcn.1004ba40
test bl, bl
je 0x1004bb49
jmp 0x1004bb42
cmp eax, 0x5e
jne 0x1004be5a
push 0x14
call fcn.100533df
mov ecx, eax
mov dword [ecx + 4], 2
jmp 0x1004be73
cmp eax, 0x24
jne 0x1004bf01
push 0x14
call fcn.100533df
mov ecx, eax
mov dword [ecx + 4], 3
mov dword [ecx], vtable.std::_Node_base.0
add esp, 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], ecx
mov edx, dword [eax + 0xc]
test edx, edx
je 0x1004beb3
mov dword [ecx + 0xc], edx
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 ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x1004bef5
cmp byte [eax], 0x5c
jne 0x1004bef3
inc eax
cmp eax, ecx
je 0x1004bef3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x1004bee0
mov dl, byte [eax]
cmp dl, 0x28
je 0x1004bef1
cmp dl, 0x29
je 0x1004bef1
test cl, 0x10
jne 0x1004bef3
mov cl, byte [eax]
cmp cl, 0x7b
je 0x1004bef1
cmp cl, 0x7d
jne 0x1004bef3
mov dword [esi], eax
inc dword [esi]
mov ecx, esi
call fcn.1004a3d0
jmp 0x1004bb49
cmp eax, 0x2a
je 0x1004bf2c
cmp eax, 0x2b
je 0x1004bf2c
cmp eax, 0x3f
je 0x1004bf2c
cmp eax, 0x7b
je 0x1004bf2c
cmp eax, 0x7d
jne 0x1004bae0
test dword [esi + 0x50], 0x10000000
je 0x1004bf33
jmp 0x1004baf2
push 0xa
call fcn.1004a3c0
push 6
call fcn.1004a3c0
push 5
call fcn.1004a3c0
push 4
call fcn.1004a3c0
int3