Function at 0x510380
Capabilities:
Parse credit card information

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
cmp dword [esi + 0x4c], 0xffffffff
je 0x510704
mov eax, dword [esi + 0x4c]
cmp eax, 0x7c
je 0x510704
cmp eax, 0x29
jne 0x5103b9
cmp dword [esi + 0x10], 0
jne 0x510704
test dword [esi + 0x50], 0x10000000
je 0x51070a
cmp eax, 0x2e
jne 0x51046b
push 0x14
call fcn.00551c81
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x5103f6
mov dword [ecx], method.55555566_6_6J6j6666666667J7_77778_8Y8s888888888999_9:____________._5___P______________.virtual_0
mov dword [ecx + 4], 5
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
jmp 0x5103f8
xor ecx, ecx
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x510414
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 0x51045f
cmp word [eax], 0x5c
jne 0x51045c
add eax, 2
cmp eax, ecx
je 0x51045c
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x510448
movzx edx, word [eax]
cmp edx, 0x28
je 0x51045a
cmp edx, 0x29
je 0x51045a
test cl, 0x10
jne 0x51045c
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x51045a
cmp ecx, 0x7d
jne 0x51045c
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e8c0
jmp 0x5106f1
cmp eax, 0x5c
jne 0x51055a
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5104b6
cmp word [eax], 0x5c
jne 0x5104b3
add eax, 2
cmp eax, ecx
je 0x5104b3
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x51049f
movzx edx, word [eax]
cmp edx, 0x28
je 0x5104b1
cmp edx, 0x29
je 0x5104b1
test cl, 0x10
jne 0x5104b3
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5104b1
cmp ecx, 0x7d
jne 0x5104b3
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e8c0
mov eax, dword [esi + 0x50]
and eax, 0x80
je 0x510526
cmp word [esi + 0x48], 0x62
jne 0x510526
push 4
lea ecx, [esi + 0x24]
call fcn.005108d0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x51051a
cmp word [eax], 0x5c
jne 0x510517
add eax, 2
cmp eax, ecx
je 0x510517
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x510503
movzx ecx, word [eax]
cmp ecx, 0x28
je 0x510515
cmp ecx, 0x29
je 0x510515
test dl, 0x10
jne 0x510517
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x510515
cmp ecx, 0x7d
jne 0x510517
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e8c0
jmp 0x5106f8
test eax, eax
je 0x51054e
cmp word [esi + 0x48], 0x42
jne 0x51054e
push 4
lea ecx, [esi + 0x24]
call fcn.005108d0
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.00510330
jmp 0x5106f8
mov ecx, esi
call fcn.00511630
jmp 0x5106f1
cmp eax, 0x5b
jne 0x51060b
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5105a5
cmp word [eax], 0x5c
jne 0x5105a2
add eax, 2
cmp eax, ecx
je 0x5105a2
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x51058e
movzx edx, word [eax]
cmp edx, 0x28
je 0x5105a0
cmp edx, 0x29
je 0x5105a0
test cl, 0x10
jne 0x5105a2
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5105a0
cmp ecx, 0x7d
jne 0x5105a2
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e8c0
mov ecx, esi
call fcn.005115c0
cmp dword [esi + 0x4c], 0x5d
jne 0x510711
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x5105ff
cmp word [eax], 0x5c
jne 0x5105fc
add eax, 2
cmp eax, ecx
je 0x5105fc
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x5105e8
movzx edx, word [eax]
cmp edx, 0x28
je 0x5105fa
cmp edx, 0x29
je 0x5105fa
test cl, 0x10
jne 0x5105fc
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x5105fa
cmp ecx, 0x7d
jne 0x5105fc
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e8c0
jmp 0x5106f1
cmp eax, 0x28
jne 0x51067d
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x510652
cmp word [eax], 0x5c
jne 0x51064f
add eax, 2
cmp eax, ecx
je 0x51064f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x51063b
movzx edx, word [eax]
cmp edx, 0x28
je 0x51064d
cmp edx, 0x29
je 0x51064d
test cl, 0x10
jne 0x51064f
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x51064d
cmp ecx, 0x7d
jne 0x51064f
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.0050e8c0
mov ecx, esi
call fcn.00511700
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x51070a
mov ecx, esi
call fcn.00510330
test bl, bl
je 0x5106f8
jmp 0x5106f1
cmp eax, 0x5e
jne 0x510695
push 2
lea ecx, [esi + 0x24]
call fcn.005108d0
mov ecx, esi
call fcn.00510330
jmp 0x5106f8
cmp eax, 0x24
jne 0x5106ad
push 3
lea ecx, [esi + 0x24]
call fcn.005108d0
mov ecx, esi
call fcn.00510330
jmp 0x5106f8
cmp eax, 0x2a
je 0x51071f
cmp eax, 0x2b
je 0x51071f
cmp eax, 0x3f
je 0x51071f
cmp eax, 0x7b
je 0x51071f
cmp eax, 0x7d
jne 0x5106cf
test dword [esi + 0x50], 0x10000000
je 0x510718
cmp eax, 0x5d
jne 0x5106dd
test dword [esi + 0x50], 0x10000000
je 0x510711
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.005118f0
mov ecx, esi
call fcn.00510330
mov ecx, esi
call fcn.005117c0
cmp dword [esi + 0x4c], 0xffffffff
mov cl, 1
jne 0x510391
pop esi
mov al, cl
pop ebx
pop ecx
ret
push 5
call fcn.0055031b
push 4
call fcn.0055031b
push 6
call fcn.0055031b
push 0xa
call fcn.0055031b
int3