Function at 0x441992
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
xor eax, eax
inc eax
cmp ecx, 0x2e
push edi
jg 0x441b04
je 0x441afc
cmp ecx, 0x26
jg 0x441a7d
je 0x441a75
cmp ecx, 0x21
jg 0x441a23
je 0x441a0b
cmp ecx, 9
jl 0x441b37
cmp ecx, 0xa
jle 0x4419e6
cmp ecx, 0xb
jle 0x441b37
cmp ecx, 0xd
jle 0x4419e6
cmp ecx, 0x20
jne 0x441b37
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x4419f6
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x445df8], al
jne 0x4419f1
mov dword [esi], 0x95
mov eax, ecx
jmp 0x441dfb
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x441df5
mov dword [esi], 0x4b
jmp 0x441dfb
mov edx, ecx
sub edx, 0x22
je 0x441cdc
dec edx
je 0x441a44
dec edx
dec edx
jne 0x441b37
mov dword [esi], 0x5a
jmp 0x441acc
movzx edx, byte [ebx + 1]
test byte [edx + 0x445df8], 4
mov ecx, eax
je 0x441dcb
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x445df8], 4
jne 0x441a57
cmp ecx, eax
jle 0x441dcb
mov dword [esi], 0x84
jmp 0x441a04
mov dword [esi], 0x52
jmp 0x441acc
mov eax, ecx
sub eax, 0x27
je 0x441cdc
dec eax
je 0x441af4
dec eax
je 0x441aec
dec eax
je 0x441ae4
dec eax
je 0x441adc
dec eax
je 0x441ad4
dec eax
jne 0x441b37
cmp byte [ebx + 1], 0x2d
jne 0x441ac6
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x441ab7
cmp ecx, 0xa
je 0x441abb
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x441aad
mov dword [esi], 0x95
jmp 0x441dfb
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x441dfb
mov dword [esi], 0x19
jmp 0x441acc
mov dword [esi], 0x56
jmp 0x441acc
mov dword [esi], 0x58
jmp 0x441acc
mov dword [esi], 0x17
jmp 0x441acc
mov dword [esi], 0x16
jmp 0x441acc
mov dword [esi], 0x76
jmp 0x441acc
cmp ecx, 0x3f
jg 0x441c7d
je 0x441c5b
cmp ecx, 0x3b
jg 0x441bd0
je 0x441bc6
cmp ecx, 0x2f
je 0x441b88
jle 0x441b37
cmp ecx, 0x39
jle 0x441b4c
cmp ecx, 0x3a
je 0x441dcb
test byte [ecx + 0x445df8], 0x46
jne 0x441da9
xor eax, eax
inc eax
jmp 0x441df5
mov dword [esi], 0x81
xor eax, eax
jmp 0x441b5b
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x445df8], 4
jne 0x441b56
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x445df8], 0x46
je 0x441dfb
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x445df8], 0x46
jne 0x441b75
jmp 0x441df5
cmp byte [ebx + 1], 0x2a
jne 0x441bbb
mov cl, byte [ebx + 2]
test cl, cl
je 0x441bbb
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x441ba6
cmp byte [eax + ebx], 0x2f
je 0x441bb5
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x441abb
inc eax
jmp 0x441b9b
inc eax
jmp 0x441abb
mov dword [esi], 0x59
jmp 0x441acc
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x441dfb
mov eax, ecx
sub eax, 0x3c
je 0x441c1f
dec eax
je 0x441c0a
dec eax
jne 0x441b37
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x441bf2
mov dword [esi], 0x50
jmp 0x441c2e
cmp eax, 0x3e
jne 0x441bff
mov dword [esi], 0x55
jmp 0x441c2e
mov dword [esi], 0x4d
jmp 0x441acc
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x441dfb
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x441c36
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x441dfb
cmp eax, 0x3e
jne 0x441c43
mov dword [esi], 0x4b
jmp 0x441c2e
cmp eax, 0x3c
jne 0x441c50
mov dword [esi], 0x54
jmp 0x441c2e
mov dword [esi], 0x4f
jmp 0x441acc
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
jmp 0x441c6f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x445df8], 4
jne 0x441c6a
jmp 0x441dfb
mov edx, ecx
sub edx, 0x40
je 0x441dcb
sub edx, 0x18
je 0x441d4b
sub edx, 3
je 0x441d1f
sub edx, 5
je 0x441cdc
sub edx, 0x18
je 0x441d4b
sub edx, 4
je 0x441cc0
dec edx
dec edx
jne 0x441b37
mov dword [esi], 0x5d
jmp 0x441acc
cmp byte [ebx + 1], 0x7c
je 0x441cd1
mov dword [esi], 0x53
jmp 0x441acc
mov dword [esi], 0x5b
jmp 0x441c2e
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x441cf8
cmp edx, ecx
jne 0x441cf3
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x441cfc
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x441ce5
cmp edx, 0x27
jne 0x441d0c
mov dword [esi], 0x5e
jmp 0x441c19
test edx, edx
je 0x441df5
mov dword [esi], 0x1a
jmp 0x441c19
xor eax, eax
inc eax
jmp 0x441d2d
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x441d32
inc eax
cmp ecx, 0x5d
jne 0x441d24
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x441dfb
cmp byte [ebx + 1], 0x27
jne 0x441b37
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x441d81
cmp ecx, 0x27
je 0x441d85
movzx ecx, cl
test byte [ecx + 0x445df8], 8
jne 0x441d7c
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x441d69
mov edi, eax
and edi, 0x80000001
jns 0x441d94
dec edi
or edi, 0xfffffffe
inc edi
jne 0x441d9e
test ecx, ecx
jne 0x441c19
test ecx, ecx
mov dword [esi], edx
je 0x441dfb
jmp 0x441c19
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x441db7
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x445df8], 0x46
jne 0x441db2
call fcn.0044191c
mov dword [esi], eax
mov eax, edi
jmp 0x441dfb
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
mov dword [esi], 0x85
je 0x441df5
movzx ecx, cl
test byte [ecx + 0x445df8], 0x46
je 0x441df1
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x441ddb
test edx, edx
jne 0x441dfb
mov dword [esi], 0x94
pop edi
pop ebx
ret