Function at 0x440c2a
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x440d75
je 0x440d61
cmp ecx, 0x26
jg 0x440ce4
je 0x440cdc
cmp ecx, 0x21
jg 0x440cba
je 0x440ca2
cmp ecx, 9
jl 0x440dac
cmp ecx, 0xa
jle 0x440c7f
cmp ecx, 0xb
jle 0x440dac
cmp ecx, 0xd
jle 0x440c7f
cmp ecx, 0x20
jne 0x440dac
movzx edx, byte [ebx + 1]
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x440c8f
inc eax
movzx edx, byte [eax + ebx]
test byte [edx + 0x4b5a78], cl
jne 0x440c8a
mov dword [esi], 0x97
jmp 0x44110d
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x441107
mov dword [esi], 0x4e
jmp 0x44110d
mov eax, ecx
sub eax, 0x22
je 0x440feb
dec eax
je 0x4410da
dec eax
dec eax
jne 0x440dac
mov dword [esi], 0x5d
jmp 0x440d31
mov dword [esi], 0x55
jmp 0x440d31
mov eax, ecx
sub eax, 0x27
je 0x440feb
dec eax
je 0x440d59
dec eax
je 0x440d51
dec eax
je 0x440d49
dec eax
je 0x440d41
dec eax
je 0x440d39
dec eax
jne 0x440dac
cmp byte [ebx + 1], 0x2d
jne 0x440d2b
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x440d22
cmp ecx, 0xa
je 0x440c97
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x440d14
jmp 0x440c97
mov dword [esi], 0x5a
xor eax, eax
inc eax
jmp 0x44110d
mov dword [esi], 0x1a
jmp 0x440d31
mov dword [esi], 0x59
jmp 0x440d31
mov dword [esi], 0x5b
jmp 0x440d31
mov dword [esi], 0x17
jmp 0x440d31
mov dword [esi], 0x16
jmp 0x440d31
movzx eax, byte [ebx + 1]
test byte [eax + 0x4b5a78], dl
jne 0x440dc1
mov dword [esi], 0x7a
jmp 0x440d31
cmp ecx, 0x3f
jg 0x440f8c
je 0x440f69
cmp ecx, 0x3b
jg 0x440ede
je 0x440ed2
cmp ecx, 0x2f
je 0x440e94
jle 0x440dac
cmp ecx, 0x39
jle 0x440dc1
cmp ecx, 0x3a
je 0x4410da
test byte [ecx + 0x4b5a78], 0x46
jne 0x4410b8
xor eax, eax
inc eax
jmp 0x441107
mov dword [esi], 0x84
mov cl, byte [ebx]
cmp cl, 0x30
jne 0x440e02
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x440dd9
cmp al, 0x58
jne 0x440e02
movzx eax, byte [ebx + 2]
test byte [eax + 0x4b5a78], 8
je 0x440e02
movzx ecx, byte [ebx + 3]
push 3
pop eax
jmp 0x440df4
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], 8
jne 0x440def
jmp 0x44110d
xor eax, eax
movzx ecx, cl
jmp 0x440e0e
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], dl
jne 0x440e09
cmp byte [eax + ebx], 0x2e
jne 0x440e2f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], dl
jne 0x440e1c
mov dword [esi], 0x85
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x440e3c
cmp cl, 0x45
jne 0x440e82
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4b5a78], dl
jne 0x440e62
cmp cl, 0x2b
je 0x440e55
cmp cl, 0x2d
jne 0x440e82
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4b5a78], dl
je 0x440e82
inc eax
inc eax
jmp 0x440e67
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], dl
jne 0x440e66
mov dword [esi], 0x85
jmp 0x440e82
mov dword [esi], 0x96
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], 0x46
jne 0x440e7b
jmp 0x44110d
cmp byte [ebx + 1], 0x2a
jne 0x440ec7
mov cl, byte [ebx + 2]
test cl, cl
je 0x440ec7
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x440eb2
cmp byte [eax + ebx], 0x2f
je 0x440ec1
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x440c97
inc eax
jmp 0x440ea7
inc eax
jmp 0x440c97
mov dword [esi], 0x5c
jmp 0x440d31
xor ecx, ecx
inc ecx
mov dword [esi], ecx
mov eax, ecx
jmp 0x44110d
mov eax, ecx
sub eax, 0x3c
je 0x440f2d
dec eax
je 0x440f18
dec eax
jne 0x440dac
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x440f00
mov dword [esi], 0x53
jmp 0x440f3c
cmp eax, 0x3e
jne 0x440f0d
mov dword [esi], 0x58
jmp 0x440f3c
mov dword [esi], 0x50
jmp 0x440d31
xor eax, eax
mov dword [esi], 0x4f
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x44110d
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x440f44
mov dword [esi], 0x51
push 2
pop eax
jmp 0x44110d
cmp eax, 0x3e
jne 0x440f51
mov dword [esi], 0x4e
jmp 0x440f3c
cmp eax, 0x3c
jne 0x440f5e
mov dword [esi], 0x57
jmp 0x440f3c
mov dword [esi], 0x52
jmp 0x440d31
xor eax, eax
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x440f7f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], dl
jne 0x440f7a
jmp 0x44110d
mov eax, ecx
sub eax, 0x40
je 0x4410da
sub eax, 0x18
je 0x44105a
sub eax, 3
je 0x44102e
sub eax, 5
je 0x440feb
sub eax, 0x18
je 0x44105a
sub eax, 4
je 0x440fcf
dec eax
dec eax
jne 0x440dac
mov dword [esi], 0x60
jmp 0x440d31
cmp byte [ebx + 1], 0x7c
je 0x440fe0
mov dword [esi], 0x56
jmp 0x440d31
mov dword [esi], 0x5e
jmp 0x440f3c
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x441007
cmp edx, ecx
jne 0x441002
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x44100b
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x440ff4
cmp edx, 0x27
jne 0x44101b
mov dword [esi], 0x61
jmp 0x440f27
test edx, edx
je 0x441107
mov dword [esi], 0x1b
jmp 0x440f27
xor eax, eax
inc eax
jmp 0x44103c
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x441041
inc eax
cmp ecx, 0x5d
jne 0x441033
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff85
add edx, 0x96
mov dword [esi], edx
jmp 0x44110d
cmp byte [ebx + 1], 0x27
jne 0x440dac
push 2
mov dword [esi], 0x86
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x441078
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b5a78], 8
jne 0x441073
cmp byte [eax + ebx], 0x27
jne 0x441098
mov ecx, eax
and ecx, 0x80000001
jns 0x441096
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x4410ad
mov dword [esi], 0x96
jmp 0x4410a6
cmp cl, 0x27
je 0x4410ad
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x4410a0
cmp byte [eax + ebx], 0
je 0x44110d
jmp 0x440f27
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x4410c6
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4b5a78], 0x46
jne 0x4410c1
call fcn.00440bb2
mov dword [esi], eax
mov eax, edi
jmp 0x44110d
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x441107
movzx ecx, cl
test byte [ecx + 0x4b5a78], 0x46
je 0x441103
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x4410ed
test edx, edx
jne 0x44110d
mov dword [esi], 0x96
pop edi
pop ebx
ret