Function at 0x5137b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x575180
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
mov eax, dword [0x5d6024]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0x4c]
xor cl, cl
cmp eax, 0xffffffff
je 0x51388d
cmp eax, 0x7c
je 0x51388d
cmp eax, 0x29
jne 0x5138a0
cmp dword [esi + 0x10], 0
jne 0x51388d
test dword [esi + 0x50], 0x10000000
je 0x513ce0
cmp eax, 0x5d
jne 0x513822
test dword [esi + 0x50], 0x10000000
je 0x513cd2
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00515670
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x513871
cmp word [eax], 0x5c
jne 0x51386e
add eax, 2
cmp eax, ecx
je 0x51386e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x51385a
movzx edx, word [eax]
cmp edx, 0x28
je 0x51386c
cmp edx, 0x29
je 0x51386c
test cl, 0x10
jne 0x51386e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x51386c
cmp ecx, 0x7d
jne 0x51386e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00512130
mov ecx, esi
call fcn.00515430
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x5137e7
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
cmp eax, 0x2e
jne 0x51390e
push 0x14
call fcn.005214a3
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov dword [ecx], 0x59b778
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x513903
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 0x51382f
cmp eax, 0x5c
jne 0x513aa2
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x513959
cmp word [eax], 0x5c
jne 0x513956
add eax, 2
cmp eax, ecx
je 0x513956
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x513942
movzx edx, word [eax]
cmp edx, 0x28
je 0x513954
cmp edx, 0x29
je 0x513954
test cl, 0x10
jne 0x513956
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x513954
cmp ecx, 0x7d
jne 0x513956
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00512130
test byte [esi + 0x50], 0x80
je 0x513a96
cmp word [esi + 0x48], 0x62
jne 0x513a20
push 0x14
call fcn.005214a3
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
mov dword [ecx], 0x59b778
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x5139d3
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 0x513c94
cmp word [eax], 0x5c
jne 0x513c91
add eax, 2
cmp eax, ecx
je 0x513c91
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x513a18
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x513c8f
cmp ecx, 0x29
je 0x513c8f
test dl, 0x10
jmp 0x513c80
cmp word [esi + 0x48], 0x42
jne 0x513a96
push 0x14
call fcn.005214a3
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 2
mov dword [ecx], 0x59b778
mov dword [ecx + 4], 4
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x513a85
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 0x5139d9
mov ecx, esi
call fcn.00515120
jmp 0x513878
cmp eax, 0x5b
jne 0x513b06
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x513ae9
cmp word [eax], 0x5c
jne 0x513ae6
add eax, 2
cmp eax, ecx
je 0x513ae6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x513ad2
movzx edx, word [eax]
cmp edx, 0x28
je 0x513ae4
cmp edx, 0x29
je 0x513ae4
test cl, 0x10
jne 0x513ae6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x513ae4
cmp ecx, 0x7d
jne 0x513ae6
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00512130
mov ecx, esi
call fcn.00515040
cmp dword [esi + 0x4c], 0x5d
jne 0x513cd2
jmp 0x51382f
cmp eax, 0x28
jne 0x513bc1
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x513b51
cmp word [eax], 0x5c
jne 0x513b4e
add eax, 2
cmp eax, ecx
je 0x513b4e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x513b3a
movzx edx, word [eax]
cmp edx, 0x28
je 0x513b4c
cmp edx, 0x29
je 0x513b4c
test cl, 0x10
jne 0x513b4e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x513b4c
cmp ecx, 0x7d
jne 0x513b4e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00512130
mov ecx, esi
call fcn.005152b0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x513ce0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x513bad
cmp word [eax], 0x5c
jne 0x513baa
add eax, 2
cmp eax, ecx
je 0x513baa
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x513b96
movzx edx, word [eax]
cmp edx, 0x28
je 0x513ba8
cmp edx, 0x29
je 0x513ba8
test cl, 0x10
jne 0x513baa
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x513ba8
cmp ecx, 0x7d
jne 0x513baa
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00512130
test bl, bl
je 0x51387f
jmp 0x513878
cmp eax, 0x5e
jne 0x513be5
push 0x14
call fcn.005214a3
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 3
mov dword [ecx + 4], 2
jmp 0x513c0b
cmp eax, 0x24
jne 0x513ca0
push 0x14
call fcn.005214a3
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 4
mov dword [ecx + 4], 3
mov dword [ecx], 0x59b778
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x513c4c
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 0x513c94
cmp word [eax], 0x5c
jne 0x513c91
add eax, 2
cmp eax, ecx
je 0x513c91
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x513c7d
movzx edx, word [eax]
cmp edx, 0x28
je 0x513c8f
cmp edx, 0x29
je 0x513c8f
test cl, 0x10
jne 0x513c91
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x513c8f
cmp ecx, 0x7d
jne 0x513c91
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00512130
jmp 0x51387f
cmp eax, 0x2a
je 0x513ccb
cmp eax, 0x2b
je 0x513ccb
cmp eax, 0x3f
je 0x513ccb
cmp eax, 0x7b
je 0x513ccb
cmp eax, 0x7d
jne 0x513810
test dword [esi + 0x50], 0x10000000
je 0x513cd9
jmp 0x513822
push 0xa
call fcn.00512120
push 4
call fcn.00512120
push 6
call fcn.00512120
push 5
call fcn.00512120
int3