Function at 0x515760
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 0x515adb
cmp eax, 0x7c
je 0x515adb
cmp eax, 0x29
jne 0x51579d
cmp dword [esi + 0x10], 0
jne 0x515adb
test dword [esi + 0x50], 0x10000000
je 0x515ae8
jmp 0x515a6c
cmp eax, 0x2e
jne 0x5157b1
push 5
lea ecx, [esi + 0x24]
call fcn.00515b00
jmp 0x515a79
cmp eax, 0x5c
jne 0x51588d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x515800
cmp word [eax], 0x5c
jne 0x5157fb
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x5157f9
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5157e7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x5157fb
cmp edi, 0x29
je 0x5157fb
test dl, 0x10
jne 0x5157f9
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x5157fb
cmp ecx, 0x7d
je 0x5157fb
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00513ec0
test byte [esi + 0x50], 0x80
je 0x515881
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x515869
push 4
lea ecx, [esi + 0x24]
call fcn.00515b00
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x515a16
cmp word [eax], 0x5c
jne 0x515a11
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x515a0f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x515861
movzx edx, word [ecx]
cmp edx, 0x28
je 0x515a11
cmp edx, 0x29
je 0x515a11
test bl, 0x10
jmp 0x515a00
cmp eax, 0x42
jne 0x515881
push 4
lea ecx, [esi + 0x24]
call fcn.00515b00
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x515820
mov ecx, esi
call fcn.005160f0
jmp 0x515ac6
cmp eax, 0x5b
jne 0x5158f5
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x5158d8
cmp word [eax], 0x5c
jne 0x5158d3
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x5158d1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5158bf
movzx edi, word [ecx]
cmp edi, 0x28
je 0x5158d3
cmp edi, 0x29
je 0x5158d3
test dl, 0x10
jne 0x5158d1
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x5158d3
cmp ecx, 0x7d
je 0x5158d3
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00513ec0
mov ecx, esi
call fcn.00515fa0
cmp dword [esi + 0x4c], 0x5d
jne 0x515aef
jmp 0x515a79
cmp eax, 0x28
jne 0x5159b8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x515944
cmp word [eax], 0x5c
jne 0x51593f
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x51593d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x51592b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x51593f
cmp edi, 0x29
je 0x51593f
test dl, 0x10
jne 0x51593d
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x51593f
cmp ecx, 0x7d
je 0x51593f
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00513ec0
mov ecx, esi
call fcn.00516240
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x515ae8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x5159a4
cmp word [eax], 0x5c
jne 0x51599f
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x51599d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x51598b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x51599f
cmp edi, 0x29
je 0x51599f
test dl, 0x10
jne 0x51599d
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x51599f
cmp ecx, 0x7d
je 0x51599f
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00513ec0
test bl, bl
je 0x515acd
jmp 0x515ac6
cmp eax, 0x5e
jne 0x5159c1
push 2
jmp 0x5159c8
cmp eax, 0x24
jne 0x515a22
push 3
lea ecx, [esi + 0x24]
call fcn.00515b00
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x515a16
cmp word [eax], 0x5c
jne 0x515a11
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x515a0f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5159fd
movzx edi, word [ecx]
cmp edi, 0x28
je 0x515a11
cmp edi, 0x29
je 0x515a11
test dl, 0x10
jne 0x515a0f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x515a11
cmp ecx, 0x7d
je 0x515a11
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00513ec0
jmp 0x515acd
cmp eax, 0x2a
je 0x515ae1
cmp eax, 0x2b
je 0x515ae1
cmp eax, 0x3f
je 0x515ae1
cmp eax, 0x7b
je 0x515ae1
cmp eax, 0x7d
jne 0x515a5a
test dword [esi + 0x50], 0x10000000
je 0x515af6
jmp 0x515a6c
cmp eax, 0x5d
jne 0x515a6c
test dword [esi + 0x50], 0x10000000
je 0x515aef
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00516690
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x515abf
cmp word [eax], 0x5c
jne 0x515aba
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x515ab8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x515aa6
movzx edi, word [ecx]
cmp edi, 0x28
je 0x515aba
cmp edi, 0x29
je 0x515aba
test dl, 0x10
jne 0x515ab8
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x515aba
cmp ecx, 0x7d
je 0x515aba
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00513ec0
mov ecx, esi
call fcn.00516450
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x515773
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00513900
push 5
call fcn.00513900
push 4
call fcn.00513900
push 6
call fcn.00513900
int3