Function at 0x514750
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x574e40
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 0x51482d
cmp eax, 0x7c
je 0x51482d
cmp eax, 0x29
jne 0x514840
cmp dword [esi + 0x10], 0
jne 0x51482d
test dword [esi + 0x50], 0x10000000
je 0x514c80
cmp eax, 0x5d
jne 0x5147c2
test dword [esi + 0x50], 0x10000000
je 0x514c72
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00516640
mov ecx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, ecx
je 0x514811
cmp word [eax], 0x5c
jne 0x51480e
add eax, 2
cmp eax, ecx
je 0x51480e
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5147fa
movzx edx, word [eax]
cmp edx, 0x28
je 0x51480c
cmp edx, 0x29
je 0x51480c
test cl, 0x10
jne 0x51480e
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x51480c
cmp ecx, 0x7d
jne 0x51480e
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00513090
mov ecx, esi
call fcn.00516400
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x514787
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 0x5148ae
push 0x14
call fcn.0052227d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov dword [ecx], 0x59b2a8
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 0x5148a3
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 0x5147cf
cmp eax, 0x5c
jne 0x514a42
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5148f9
cmp word [eax], 0x5c
jne 0x5148f6
add eax, 2
cmp eax, ecx
je 0x5148f6
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5148e2
movzx edx, word [eax]
cmp edx, 0x28
je 0x5148f4
cmp edx, 0x29
je 0x5148f4
test cl, 0x10
jne 0x5148f6
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5148f4
cmp ecx, 0x7d
jne 0x5148f6
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00513090
test byte [esi + 0x50], 0x80
je 0x514a36
cmp word [esi + 0x48], 0x62
jne 0x5149c0
push 0x14
call fcn.0052227d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 1
mov dword [ecx], 0x59b2a8
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 0x514973
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 0x514c34
cmp word [eax], 0x5c
jne 0x514c31
add eax, 2
cmp eax, ecx
je 0x514c31
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5149b8
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x514c2f
cmp ecx, 0x29
je 0x514c2f
test dl, 0x10
jmp 0x514c20
cmp word [esi + 0x48], 0x42
jne 0x514a36
push 0x14
call fcn.0052227d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 2
mov dword [ecx], 0x59b2a8
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 0x514a25
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 0x514979
mov ecx, esi
call fcn.005160f0
jmp 0x514818
cmp eax, 0x5b
jne 0x514aa6
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x514a89
cmp word [eax], 0x5c
jne 0x514a86
add eax, 2
cmp eax, ecx
je 0x514a86
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x514a72
movzx edx, word [eax]
cmp edx, 0x28
je 0x514a84
cmp edx, 0x29
je 0x514a84
test cl, 0x10
jne 0x514a86
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x514a84
cmp ecx, 0x7d
jne 0x514a86
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00513090
mov ecx, esi
call fcn.00516010
cmp dword [esi + 0x4c], 0x5d
jne 0x514c72
jmp 0x5147cf
cmp eax, 0x28
jne 0x514b61
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x514af1
cmp word [eax], 0x5c
jne 0x514aee
add eax, 2
cmp eax, ecx
je 0x514aee
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x514ada
movzx edx, word [eax]
cmp edx, 0x28
je 0x514aec
cmp edx, 0x29
je 0x514aec
test cl, 0x10
jne 0x514aee
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x514aec
cmp ecx, 0x7d
jne 0x514aee
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00513090
mov ecx, esi
call fcn.00516280
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x514c80
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x514b4d
cmp word [eax], 0x5c
jne 0x514b4a
add eax, 2
cmp eax, ecx
je 0x514b4a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x514b36
movzx edx, word [eax]
cmp edx, 0x28
je 0x514b48
cmp edx, 0x29
je 0x514b48
test cl, 0x10
jne 0x514b4a
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x514b48
cmp ecx, 0x7d
jne 0x514b4a
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00513090
test bl, bl
je 0x51481f
jmp 0x514818
cmp eax, 0x5e
jne 0x514b85
push 0x14
call fcn.0052227d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 3
mov dword [ecx + 4], 2
jmp 0x514bab
cmp eax, 0x24
jne 0x514c40
push 0x14
call fcn.0052227d
mov ecx, eax
add esp, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], 4
mov dword [ecx + 4], 3
mov dword [ecx], 0x59b2a8
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 0x514bec
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 0x514c34
cmp word [eax], 0x5c
jne 0x514c31
add eax, 2
cmp eax, ecx
je 0x514c31
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x514c1d
movzx edx, word [eax]
cmp edx, 0x28
je 0x514c2f
cmp edx, 0x29
je 0x514c2f
test cl, 0x10
jne 0x514c31
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x514c2f
cmp ecx, 0x7d
jne 0x514c31
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00513090
jmp 0x51481f
cmp eax, 0x2a
je 0x514c6b
cmp eax, 0x2b
je 0x514c6b
cmp eax, 0x3f
je 0x514c6b
cmp eax, 0x7b
je 0x514c6b
cmp eax, 0x7d
jne 0x5147b0
test dword [esi + 0x50], 0x10000000
je 0x514c79
jmp 0x5147c2
push 0xa
call fcn.00513080
push 4
call fcn.00513080
push 6
call fcn.00513080
push 5
call fcn.00513080
int3