Function at 0x47c02e
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x47c1b3
je 0x47c19f
cmp ecx, 0x26
jg 0x47c122
je 0x47c11a
cmp ecx, 0x22
jg 0x47c0c4
je 0x47c402
cmp ecx, 9
jl 0x47c1ea
cmp ecx, 0xa
jle 0x47c0a2
cmp ecx, 0xb
jle 0x47c1ea
cmp ecx, 0xd
jle 0x47c0a2
cmp ecx, 0x20
je 0x47c0a2
cmp ecx, 0x21
jne 0x47c1ea
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x47c56e
mov dword [esi], 0x49
jmp 0x47c574
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x47c0b0
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4aecc8], 1
jne 0x47c0ab
mov dword [esi], 0x94
jmp 0x47c574
mov eax, ecx
sub eax, 0x23
je 0x47c0e4
dec eax
je 0x47c4fa
dec eax
jne 0x47c1ea
mov dword [esi], 0x58
jmp 0x47c16f
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x4aecc8], dl
je 0x47c4fa
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4aecc8], dl
jne 0x47c0f9
cmp eax, 1
jle 0x47c4fa
mov dword [esi], 0x84
jmp 0x47c574
mov dword [esi], 0x50
jmp 0x47c16f
mov eax, ecx
sub eax, 0x27
je 0x47c402
dec eax
je 0x47c197
dec eax
je 0x47c18f
dec eax
je 0x47c187
dec eax
je 0x47c17f
dec eax
je 0x47c177
dec eax
jne 0x47c1ea
cmp byte [ebx + 1], 0x2d
jne 0x47c169
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x47c160
cmp ecx, 0xa
je 0x47c0b9
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x47c152
jmp 0x47c0b9
mov dword [esi], 0x55
xor eax, eax
inc eax
jmp 0x47c574
mov dword [esi], 0x19
jmp 0x47c16f
mov dword [esi], 0x54
jmp 0x47c16f
mov dword [esi], 0x56
jmp 0x47c16f
mov dword [esi], 0x17
jmp 0x47c16f
mov dword [esi], 0x16
jmp 0x47c16f
movzx eax, byte [ebx + 1]
test byte [eax + 0x4aecc8], dl
jne 0x47c20c
mov dword [esi], 0x76
jmp 0x47c16f
cmp ecx, 0x3f
jg 0x47c3a3
je 0x47c380
cmp ecx, 0x3b
jg 0x47c2f5
je 0x47c2eb
cmp ecx, 0x2f
je 0x47c2ad
jle 0x47c1ea
cmp ecx, 0x39
jle 0x47c20c
cmp ecx, 0x3a
je 0x47c4fa
test cl, cl
js 0x47c4d3
cmp ecx, 0x1f
jle 0x47c204
cmp byte [ecx + 0x4b1cd8], 0
jne 0x47c4d3
xor eax, eax
inc eax
jmp 0x47c56e
mov dword [esi], 0x81
xor eax, eax
jmp 0x47c21b
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4aecc8], dl
jne 0x47c216
cmp byte [eax + ebx], 0x2e
jne 0x47c23c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4aecc8], dl
jne 0x47c229
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x47c249
cmp cl, 0x45
jne 0x47c286
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4aecc8], dl
jne 0x47c26f
cmp cl, 0x2b
je 0x47c262
cmp cl, 0x2d
jne 0x47c286
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4aecc8], dl
je 0x47c286
inc eax
inc eax
jmp 0x47c274
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4aecc8], dl
jne 0x47c273
mov dword [esi], 0x82
movzx ecx, byte [eax + ebx]
test cl, cl
js 0x47c2a4
cmp ecx, 0x1f
jle 0x47c574
cmp byte [ecx + 0x4b1cd8], 0
je 0x47c574
mov dword [esi], 0x93
inc eax
jmp 0x47c286
cmp byte [ebx + 1], 0x2a
jne 0x47c2e0
mov cl, byte [ebx + 2]
test cl, cl
je 0x47c2e0
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x47c2cb
cmp byte [eax + ebx], 0x2f
je 0x47c2da
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x47c0b9
inc eax
jmp 0x47c2c0
inc eax
jmp 0x47c0b9
mov dword [esi], 0x57
jmp 0x47c16f
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x47c574
mov eax, ecx
sub eax, 0x3c
je 0x47c344
dec eax
je 0x47c32f
dec eax
jne 0x47c1ea
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x47c317
mov dword [esi], 0x4e
jmp 0x47c353
cmp eax, 0x3e
jne 0x47c324
mov dword [esi], 0x53
jmp 0x47c353
mov dword [esi], 0x4b
jmp 0x47c16f
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4a
sete al
inc eax
jmp 0x47c574
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x47c35b
mov dword [esi], 0x4c
push 2
pop eax
jmp 0x47c574
cmp eax, 0x3e
jne 0x47c368
mov dword [esi], 0x49
jmp 0x47c353
cmp eax, 0x3c
jne 0x47c375
mov dword [esi], 0x52
jmp 0x47c353
mov dword [esi], 0x4d
jmp 0x47c16f
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
mov dl, 4
jmp 0x47c396
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4aecc8], dl
jne 0x47c391
jmp 0x47c574
mov eax, ecx
sub eax, 0x40
je 0x47c4fa
sub eax, 0x18
je 0x47c471
sub eax, 3
je 0x47c445
sub eax, 5
je 0x47c402
sub eax, 0x18
je 0x47c471
sub eax, 4
je 0x47c3e6
dec eax
dec eax
jne 0x47c1ea
mov dword [esi], 0x5d
jmp 0x47c16f
cmp byte [ebx + 1], 0x7c
je 0x47c3f7
mov dword [esi], 0x51
jmp 0x47c16f
mov dword [esi], 0x59
jmp 0x47c353
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x47c41e
cmp edx, ecx
jne 0x47c419
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x47c422
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x47c40b
cmp edx, 0x27
jne 0x47c432
mov dword [esi], 0x5e
jmp 0x47c33e
test edx, edx
je 0x47c56e
mov dword [esi], 0x1a
jmp 0x47c33e
xor eax, eax
inc eax
jmp 0x47c453
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x47c458
inc eax
cmp ecx, 0x5d
jne 0x47c44a
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff87
add edx, 0x93
mov dword [esi], edx
jmp 0x47c574
cmp byte [ebx + 1], 0x27
jne 0x47c1ea
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x93
jmp 0x47c4a7
cmp ecx, 0x27
je 0x47c4ab
movzx ecx, cl
test byte [ecx + 0x4aecc8], 8
jne 0x47c4a2
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x47c48f
mov edi, eax
and edi, 0x80000001
jns 0x47c4ba
dec edi
or edi, 0xfffffffe
inc edi
jne 0x47c4c4
test ecx, ecx
jne 0x47c33e
mov dword [esi], edx
test ecx, ecx
je 0x47c574
jmp 0x47c33e
xor edi, edi
inc edi
movzx eax, byte [edi + ebx]
test al, al
js 0x47c4ec
cmp eax, 0x1f
jle 0x47c4ef
cmp byte [eax + 0x4b1cd8], 0
je 0x47c4ef
inc edi
jmp 0x47c4d6
call fcn.0047bfb8
mov dword [esi], eax
mov eax, edi
jmp 0x47c574
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
mov dword [esi], 0x85
test ecx, ecx
je 0x47c56e
test cl, cl
js 0x47c536
cmp ecx, 0x1f
jle 0x47c51f
cmp byte [ecx + 0x4b1cd8], 0
jne 0x47c536
cmp ecx, 0x28
jne 0x47c528
test edx, edx
jg 0x47c542
cmp ecx, 0x3a
jne 0x47c56a
cmp byte [ebx + eax + 1], cl
jne 0x47c56a
inc eax
jmp 0x47c537
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x47c50d
jmp 0x47c56a
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x47c55c
movzx edi, cl
test byte [edi + 0x4aecc8], 1
jne 0x47c55c
cmp ecx, 0x29
jne 0x47c542
cmp ecx, 0x29
jne 0x47c564
inc eax
jmp 0x47c56a
mov dword [esi], 0x93
test edx, edx
jne 0x47c574
mov dword [esi], 0x93
pop edi
pop ebx
ret