Function at 0x513f20
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 0x51429b
cmp eax, 0x7c
je 0x51429b
cmp eax, 0x29
jne 0x513f5d
cmp dword [esi + 0x10], 0
jne 0x51429b
test dword [esi + 0x50], 0x10000000
je 0x5142a8
jmp 0x51422c
cmp eax, 0x2e
jne 0x513f71
push 5
lea ecx, [esi + 0x24]
call fcn.005142c0
jmp 0x514239
cmp eax, 0x5c
jne 0x51404d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x513fc0
cmp word [eax], 0x5c
jne 0x513fbb
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x513fb9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x513fa7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x513fbb
cmp edi, 0x29
je 0x513fbb
test dl, 0x10
jne 0x513fb9
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x513fbb
cmp ecx, 0x7d
je 0x513fbb
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00512680
test byte [esi + 0x50], 0x80
je 0x514041
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x514029
push 4
lea ecx, [esi + 0x24]
call fcn.005142c0
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x5141d6
cmp word [eax], 0x5c
jne 0x5141d1
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x5141cf
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x514021
movzx edx, word [ecx]
cmp edx, 0x28
je 0x5141d1
cmp edx, 0x29
je 0x5141d1
test bl, 0x10
jmp 0x5141c0
cmp eax, 0x42
jne 0x514041
push 4
lea ecx, [esi + 0x24]
call fcn.005142c0
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x513fe0
mov ecx, esi
call fcn.005148b0
jmp 0x514286
cmp eax, 0x5b
jne 0x5140b5
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x514098
cmp word [eax], 0x5c
jne 0x514093
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x514091
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x51407f
movzx edi, word [ecx]
cmp edi, 0x28
je 0x514093
cmp edi, 0x29
je 0x514093
test dl, 0x10
jne 0x514091
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x514093
cmp ecx, 0x7d
je 0x514093
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00512680
mov ecx, esi
call fcn.00514760
cmp dword [esi + 0x4c], 0x5d
jne 0x5142af
jmp 0x514239
cmp eax, 0x28
jne 0x514178
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x514104
cmp word [eax], 0x5c
jne 0x5140ff
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x5140fd
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5140eb
movzx edi, word [ecx]
cmp edi, 0x28
je 0x5140ff
cmp edi, 0x29
je 0x5140ff
test dl, 0x10
jne 0x5140fd
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x5140ff
cmp ecx, 0x7d
je 0x5140ff
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00512680
mov ecx, esi
call fcn.00514a00
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x5142a8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x514164
cmp word [eax], 0x5c
jne 0x51415f
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x51415d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x51414b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x51415f
cmp edi, 0x29
je 0x51415f
test dl, 0x10
jne 0x51415d
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x51415f
cmp ecx, 0x7d
je 0x51415f
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00512680
test bl, bl
je 0x51428d
jmp 0x514286
cmp eax, 0x5e
jne 0x514181
push 2
jmp 0x514188
cmp eax, 0x24
jne 0x5141e2
push 3
lea ecx, [esi + 0x24]
call fcn.005142c0
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x5141d6
cmp word [eax], 0x5c
jne 0x5141d1
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x5141cf
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5141bd
movzx edi, word [ecx]
cmp edi, 0x28
je 0x5141d1
cmp edi, 0x29
je 0x5141d1
test dl, 0x10
jne 0x5141cf
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x5141d1
cmp ecx, 0x7d
je 0x5141d1
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00512680
jmp 0x51428d
cmp eax, 0x2a
je 0x5142a1
cmp eax, 0x2b
je 0x5142a1
cmp eax, 0x3f
je 0x5142a1
cmp eax, 0x7b
je 0x5142a1
cmp eax, 0x7d
jne 0x51421a
test dword [esi + 0x50], 0x10000000
je 0x5142b6
jmp 0x51422c
cmp eax, 0x5d
jne 0x51422c
test dword [esi + 0x50], 0x10000000
je 0x5142af
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00514e50
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x51427f
cmp word [eax], 0x5c
jne 0x51427a
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x514278
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x514266
movzx edi, word [ecx]
cmp edi, 0x28
je 0x51427a
cmp edi, 0x29
je 0x51427a
test dl, 0x10
jne 0x514278
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x51427a
cmp ecx, 0x7d
je 0x51427a
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00512680
mov ecx, esi
call fcn.00514c10
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x513f33
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.005120c0
push 5
call fcn.005120c0
push 4
call fcn.005120c0
push 6
call fcn.005120c0
int3