Function at 0x480a10
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x480f12
cmp eax, 0x7c
je 0x480f12
lea edi, [esi + 8]
cmp eax, 0x29
jne 0x480a54
cmp dword [esi + 0x10], 0
jne 0x480f12
test dword [esi + 0x50], 0x10000000
je 0x480f22
jmp 0x480ea7
cmp eax, 0x2e
jne 0x480ac4
push 5
lea ecx, [esi + 0x24]
call fcn.00480f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x480eee
cmp byte [eax], 0x5c
jne 0x480cd4
lea edx, [eax + 1]
cmp edx, ecx
je 0x480cd4
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x480a9e
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x480ab9
cmp byte [ebp - 1], 0x29
je 0x480ab9
test bl, 0x10
jne 0x480cd4
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x480ab9
cmp dl, 0x7d
jne 0x480cd4
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
jmp 0x480eee
cmp eax, 0x5c
jne 0x480c0f
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x480b15
cmp byte [eax], 0x5c
jne 0x480b12
lea edx, [eax + 1]
cmp edx, ecx
je 0x480b12
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x480afc
mov cl, byte [edx]
mov byte [ebp - 1], cl
mov ecx, eax
cmp byte [ebp - 1], 0x28
je 0x480b0f
cmp byte [ebp - 1], 0x29
je 0x480b0f
test bl, 0x10
jne 0x480b12
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x480b0f
cmp dl, 0x7d
jne 0x480b12
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047d270
test byte [esi + 0x50], 0x80
je 0x480c03
mov al, byte [esi + 0x48]
cmp al, 0x62
jne 0x480b89
push 4
lea ecx, [esi + 0x24]
call fcn.00480f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x480b7d
cmp byte [eax], 0x5c
jne 0x480b7a
lea edx, [eax + 1]
cmp edx, ecx
je 0x480b7a
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x480b64
mov bl, byte [edx]
mov ecx, eax
cmp bl, 0x28
je 0x480b77
cmp bl, 0x29
je 0x480b77
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x480b7a
mov dl, byte [edx]
mov ecx, eax
cmp dl, 0x7b
je 0x480b77
cmp dl, 0x7d
jne 0x480b7a
lea eax, [ecx + 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047d270
jmp 0x480eff
cmp al, 0x42
jne 0x480c03
push 4
lea ecx, [esi + 0x24]
call fcn.00480f40
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x480bf7
cmp byte [eax], 0x5c
jne 0x480bf4
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x480bf2
test byte [esi + 0x50], 8
jne 0x480bca
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x480be0
cmp cl, 0x29
je 0x480be0
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x480bf2
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x480be0
mov edx, ecx
cmp bl, 0x7d
jne 0x480bf2
lea eax, [edx + 1]
mov ecx, esi
inc eax
mov dword [esi], eax
call fcn.0047d270
jmp 0x480eff
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047d270
jmp 0x480eff
mov ecx, esi
call fcn.00483ba0
jmp 0x480ef5
cmp eax, 0x5b
jne 0x480cdc
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x480c68
cmp byte [eax], 0x5c
jne 0x480c62
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x480c60
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x480c46
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x480c5b
cmp cl, 0x29
je 0x480c5b
mov ecx, eax
test bl, 0x10
jne 0x480c60
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x480c5b
mov edx, ecx
cmp bl, 0x7d
jne 0x480c60
lea eax, [edx + 1]
jmp 0x480c62
mov eax, ecx
inc eax
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0047d270
mov ecx, esi
call fcn.00483a60
cmp dword [esi + 0x4c], 0x5d
jne 0x480f30
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x480eee
cmp byte [eax], 0x5c
jne 0x480cd4
lea edi, [eax + 1]
mov ecx, eax
cmp edi, edx
je 0x480cd2
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x480cb2
mov cl, byte [edi]
mov edx, eax
cmp cl, 0x28
je 0x480cc7
cmp cl, 0x29
je 0x480cc7
mov ecx, eax
test bl, 0x10
jne 0x480cd2
mov bl, byte [edi]
mov edx, eax
cmp bl, 0x7b
je 0x480cc7
mov edx, ecx
cmp bl, 0x7d
jne 0x480cd2
lea eax, [edx + 1]
inc eax
mov dword [esi], eax
jmp 0x480eee
mov eax, ecx
inc eax
mov dword [esi], eax
jmp 0x480eee
cmp eax, 0x28
jne 0x480db2
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x480d31
cmp byte [eax], 0x5c
jne 0x480d2e
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x480d2c
test byte [esi + 0x50], 8
jne 0x480d11
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x480d27
cmp cl, 0x29
je 0x480d27
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x480d2c
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x480d27
mov edx, ecx
cmp bl, 0x7d
jne 0x480d2c
lea eax, [edx + 1]
jmp 0x480d2e
mov eax, ecx
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047d270
mov ecx, esi
call fcn.00483cf0
cmp dword [esi + 0x4c], 0x29
mov bl, al
mov byte [ebp - 1], bl
jne 0x480f22
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x480d9e
cmp byte [eax], 0x5c
jne 0x480d9b
lea ebx, [eax + 1]
mov ecx, eax
cmp ebx, edx
je 0x480d96
test byte [esi + 0x50], 8
jne 0x480d7b
mov cl, byte [ebx]
mov edx, eax
cmp cl, 0x28
je 0x480d91
cmp cl, 0x29
je 0x480d91
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x480d96
mov bl, byte [ebx]
mov edx, eax
cmp bl, 0x7b
je 0x480d91
mov edx, ecx
cmp bl, 0x7d
jne 0x480d96
lea eax, [edx + 1]
jmp 0x480d98
mov eax, ecx
mov bl, byte [ebp - 1]
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047d270
test bl, bl
je 0x480eff
jmp 0x480ef5
cmp eax, 0x5e
jne 0x480e06
push 2
lea ecx, [esi + 0x24]
call fcn.00480f40
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x480dfa
cmp byte [eax], 0x5c
jne 0x480df8
inc eax
cmp eax, ecx
je 0x480df8
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x480de7
mov dl, byte [eax]
cmp dl, 0x28
je 0x480df6
cmp dl, 0x29
je 0x480df6
test cl, 0x10
jne 0x480df8
mov al, byte [eax]
cmp al, 0x7b
je 0x480df6
cmp al, 0x7d
jne 0x480df8
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0047d270
jmp 0x480eff
cmp eax, 0x24
jne 0x480e5d
push 3
lea ecx, [esi + 0x24]
call fcn.00480f40
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x480e51
cmp byte [eax], 0x5c
jne 0x480e4f
inc eax
cmp eax, ecx
je 0x480e4f
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x480e3e
mov dl, byte [eax]
cmp dl, 0x28
je 0x480e4d
cmp dl, 0x29
je 0x480e4d
test cl, 0x10
jne 0x480e4f
mov al, byte [eax]
cmp al, 0x7b
je 0x480e4d
cmp al, 0x7d
jne 0x480e4f
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0047d270
jmp 0x480eff
cmp eax, 0x2a
je 0x480f1b
cmp eax, 0x2b
je 0x480f1b
cmp eax, 0x3f
je 0x480f1b
cmp eax, 0x7b
je 0x480f1b
cmp eax, 0x7d
jne 0x480e95
test dword [esi + 0x50], 0x10000000
je 0x480f29
jmp 0x480ea7
cmp eax, 0x5d
jne 0x480ea7
test dword [esi + 0x50], 0x10000000
je 0x480f30
movzx eax, byte [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00484090
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x480eee
cmp byte [eax], 0x5c
jne 0x480eec
inc eax
cmp eax, ecx
je 0x480eec
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x480edb
mov dl, byte [eax]
cmp dl, 0x28
je 0x480eea
cmp dl, 0x29
je 0x480eea
test cl, 0x10
jne 0x480eec
mov al, byte [eax]
cmp al, 0x7b
je 0x480eea
cmp al, 0x7d
jne 0x480eec
inc dword [esi]
inc dword [esi]
mov ecx, esi
call fcn.0047d270
mov ecx, esi
call fcn.00483e70
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x480f12
cmp eax, 0x7c
jne 0x480a33
pop edi
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call fcn.0047d260
push 5
call fcn.0047d260
push 6
call fcn.0047d260
push 4
call fcn.0047d260
int3