Function at 0x5419e0
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 0x541d5b
cmp eax, 0x7c
je 0x541d5b
cmp eax, 0x29
jne 0x541a1d
cmp dword [esi + 0x10], 0
jne 0x541d5b
test dword [esi + 0x50], 0x10000000
je 0x541d68
jmp 0x541cec
cmp eax, 0x2e
jne 0x541a31
push 5
lea ecx, [esi + 0x24]
call fcn.00541d80
jmp 0x541cf9
cmp eax, 0x5c
jne 0x541b0d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x541a80
cmp word [eax], 0x5c
jne 0x541a7b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541a79
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x541a67
movzx edi, word [ecx]
cmp edi, 0x28
je 0x541a7b
cmp edi, 0x29
je 0x541a7b
test dl, 0x10
jne 0x541a79
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x541a7b
cmp ecx, 0x7d
je 0x541a7b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00540790
test byte [esi + 0x50], 0x80
je 0x541b01
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x541ae9
push 4
lea ecx, [esi + 0x24]
call fcn.00541d80
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x541c96
cmp word [eax], 0x5c
jne 0x541c91
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541c8f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x541ae1
movzx edx, word [ecx]
cmp edx, 0x28
je 0x541c91
cmp edx, 0x29
je 0x541c91
test bl, 0x10
jmp 0x541c80
cmp eax, 0x42
jne 0x541b01
push 4
lea ecx, [esi + 0x24]
call fcn.00541d80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x541aa0
mov ecx, esi
call fcn.00541f50
jmp 0x541d46
cmp eax, 0x5b
jne 0x541b75
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x541b58
cmp word [eax], 0x5c
jne 0x541b53
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541b51
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x541b3f
movzx edi, word [ecx]
cmp edi, 0x28
je 0x541b53
cmp edi, 0x29
je 0x541b53
test dl, 0x10
jne 0x541b51
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x541b53
cmp ecx, 0x7d
je 0x541b53
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00540790
mov ecx, esi
call fcn.00541e00
cmp dword [esi + 0x4c], 0x5d
jne 0x541d6f
jmp 0x541cf9
cmp eax, 0x28
jne 0x541c38
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x541bc4
cmp word [eax], 0x5c
jne 0x541bbf
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541bbd
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x541bab
movzx edi, word [ecx]
cmp edi, 0x28
je 0x541bbf
cmp edi, 0x29
je 0x541bbf
test dl, 0x10
jne 0x541bbd
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x541bbf
cmp ecx, 0x7d
je 0x541bbf
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00540790
mov ecx, esi
call fcn.005420a0
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x541d68
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x541c24
cmp word [eax], 0x5c
jne 0x541c1f
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541c1d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x541c0b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x541c1f
cmp edi, 0x29
je 0x541c1f
test dl, 0x10
jne 0x541c1d
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x541c1f
cmp ecx, 0x7d
je 0x541c1f
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00540790
test bl, bl
je 0x541d4d
jmp 0x541d46
cmp eax, 0x5e
jne 0x541c41
push 2
jmp 0x541c48
cmp eax, 0x24
jne 0x541ca2
push 3
lea ecx, [esi + 0x24]
call fcn.00541d80
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x541c96
cmp word [eax], 0x5c
jne 0x541c91
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541c8f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x541c7d
movzx edi, word [ecx]
cmp edi, 0x28
je 0x541c91
cmp edi, 0x29
je 0x541c91
test dl, 0x10
jne 0x541c8f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x541c91
cmp ecx, 0x7d
je 0x541c91
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00540790
jmp 0x541d4d
cmp eax, 0x2a
je 0x541d61
cmp eax, 0x2b
je 0x541d61
cmp eax, 0x3f
je 0x541d61
cmp eax, 0x7b
je 0x541d61
cmp eax, 0x7d
jne 0x541cda
test dword [esi + 0x50], 0x10000000
je 0x541d76
jmp 0x541cec
cmp eax, 0x5d
jne 0x541cec
test dword [esi + 0x50], 0x10000000
je 0x541d6f
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.005424f0
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x541d3f
cmp word [eax], 0x5c
jne 0x541d3a
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x541d38
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x541d26
movzx edi, word [ecx]
cmp edi, 0x28
je 0x541d3a
cmp edi, 0x29
je 0x541d3a
test dl, 0x10
jne 0x541d38
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x541d3a
cmp ecx, 0x7d
je 0x541d3a
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00540790
mov ecx, esi
call fcn.005422b0
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x5419f3
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.004ca5b0
push 5
call fcn.004ca5b0
push 4
call fcn.004ca5b0
push 6
call fcn.004ca5b0
int3