Function at 0x443ebb
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 0x444006
je 0x443ff2
cmp ecx, 0x26
jg 0x443f75
je 0x443f6d
cmp ecx, 0x21
jg 0x443f4b
je 0x443f33
cmp ecx, 9
jl 0x44403d
cmp ecx, 0xa
jle 0x443f10
cmp ecx, 0xb
jle 0x44403d
cmp ecx, 0xd
jle 0x443f10
cmp ecx, 0x20
jne 0x44403d
movzx edx, byte [ebx + 1]
xor ecx, ecx
inc ecx
mov eax, ecx
jmp 0x443f20
inc eax
movzx edx, byte [eax + ebx]
test byte [edx + 0x4b89e8], cl
jne 0x443f1b
mov dword [esi], 0x97
jmp 0x44439e
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x444398
mov dword [esi], 0x4e
jmp 0x44439e
mov eax, ecx
sub eax, 0x22
je 0x44427c
dec eax
je 0x44436b
dec eax
dec eax
jne 0x44403d
mov dword [esi], 0x5d
jmp 0x443fc2
mov dword [esi], 0x55
jmp 0x443fc2
mov eax, ecx
sub eax, 0x27
je 0x44427c
dec eax
je 0x443fea
dec eax
je 0x443fe2
dec eax
je 0x443fda
dec eax
je 0x443fd2
dec eax
je 0x443fca
dec eax
jne 0x44403d
cmp byte [ebx + 1], 0x2d
jne 0x443fbc
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x443fb3
cmp ecx, 0xa
je 0x443f28
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x443fa5
jmp 0x443f28
mov dword [esi], 0x5a
xor eax, eax
inc eax
jmp 0x44439e
mov dword [esi], 0x1a
jmp 0x443fc2
mov dword [esi], 0x59
jmp 0x443fc2
mov dword [esi], 0x5b
jmp 0x443fc2
mov dword [esi], 0x17
jmp 0x443fc2
mov dword [esi], 0x16
jmp 0x443fc2
movzx eax, byte [ebx + 1]
test byte [eax + 0x4b89e8], dl
jne 0x444052
mov dword [esi], 0x7a
jmp 0x443fc2
cmp ecx, 0x3f
jg 0x44421d
je 0x4441fa
cmp ecx, 0x3b
jg 0x44416f
je 0x444163
cmp ecx, 0x2f
je 0x444125
jle 0x44403d
cmp ecx, 0x39
jle 0x444052
cmp ecx, 0x3a
je 0x44436b
test byte [ecx + 0x4b89e8], 0x46
jne 0x444349
xor eax, eax
inc eax
jmp 0x444398
mov dword [esi], 0x84
mov cl, byte [ebx]
cmp cl, 0x30
jne 0x444093
mov al, byte [ebx + 1]
cmp al, 0x78
je 0x44406a
cmp al, 0x58
jne 0x444093
movzx eax, byte [ebx + 2]
test byte [eax + 0x4b89e8], 8
je 0x444093
movzx ecx, byte [ebx + 3]
push 3
pop eax
jmp 0x444085
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], 8
jne 0x444080
jmp 0x44439e
xor eax, eax
movzx ecx, cl
jmp 0x44409f
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], dl
jne 0x44409a
cmp byte [eax + ebx], 0x2e
jne 0x4440c0
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], dl
jne 0x4440ad
mov dword [esi], 0x85
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x4440cd
cmp cl, 0x45
jne 0x444113
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4b89e8], dl
jne 0x4440f3
cmp cl, 0x2b
je 0x4440e6
cmp cl, 0x2d
jne 0x444113
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4b89e8], dl
je 0x444113
inc eax
inc eax
jmp 0x4440f8
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], dl
jne 0x4440f7
mov dword [esi], 0x85
jmp 0x444113
mov dword [esi], 0x96
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], 0x46
jne 0x44410c
jmp 0x44439e
cmp byte [ebx + 1], 0x2a
jne 0x444158
mov cl, byte [ebx + 2]
test cl, cl
je 0x444158
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x444143
cmp byte [eax + ebx], 0x2f
je 0x444152
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x443f28
inc eax
jmp 0x444138
inc eax
jmp 0x443f28
mov dword [esi], 0x5c
jmp 0x443fc2
xor ecx, ecx
inc ecx
mov dword [esi], ecx
mov eax, ecx
jmp 0x44439e
mov eax, ecx
sub eax, 0x3c
je 0x4441be
dec eax
je 0x4441a9
dec eax
jne 0x44403d
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x444191
mov dword [esi], 0x53
jmp 0x4441cd
cmp eax, 0x3e
jne 0x44419e
mov dword [esi], 0x58
jmp 0x4441cd
mov dword [esi], 0x50
jmp 0x443fc2
xor eax, eax
mov dword [esi], 0x4f
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x44439e
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4441d5
mov dword [esi], 0x51
push 2
pop eax
jmp 0x44439e
cmp eax, 0x3e
jne 0x4441e2
mov dword [esi], 0x4e
jmp 0x4441cd
cmp eax, 0x3c
jne 0x4441ef
mov dword [esi], 0x57
jmp 0x4441cd
mov dword [esi], 0x52
jmp 0x443fc2
xor eax, eax
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x444210
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], dl
jne 0x44420b
jmp 0x44439e
mov eax, ecx
sub eax, 0x40
je 0x44436b
sub eax, 0x18
je 0x4442eb
sub eax, 3
je 0x4442bf
sub eax, 5
je 0x44427c
sub eax, 0x18
je 0x4442eb
sub eax, 4
je 0x444260
dec eax
dec eax
jne 0x44403d
mov dword [esi], 0x60
jmp 0x443fc2
cmp byte [ebx + 1], 0x7c
je 0x444271
mov dword [esi], 0x56
jmp 0x443fc2
mov dword [esi], 0x5e
jmp 0x4441cd
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x444298
cmp edx, ecx
jne 0x444293
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x44429c
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x444285
cmp edx, 0x27
jne 0x4442ac
mov dword [esi], 0x61
jmp 0x4441b8
test edx, edx
je 0x444398
mov dword [esi], 0x1b
jmp 0x4441b8
xor eax, eax
inc eax
jmp 0x4442cd
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4442d2
inc eax
cmp ecx, 0x5d
jne 0x4442c4
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff85
add edx, 0x96
mov dword [esi], edx
jmp 0x44439e
cmp byte [ebx + 1], 0x27
jne 0x44403d
push 2
mov dword [esi], 0x86
movzx ecx, byte [ebx + 2]
pop eax
jmp 0x444309
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4b89e8], 8
jne 0x444304
cmp byte [eax + ebx], 0x27
jne 0x444329
mov ecx, eax
and ecx, 0x80000001
jns 0x444327
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x44433e
mov dword [esi], 0x96
jmp 0x444337
cmp cl, 0x27
je 0x44433e
inc eax
mov cl, byte [eax + ebx]
test cl, cl
jne 0x444331
cmp byte [eax + ebx], 0
je 0x44439e
jmp 0x4441b8
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x444357
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4b89e8], 0x46
jne 0x444352
call fcn.00443e43
mov dword [esi], eax
mov eax, edi
jmp 0x44439e
mov dword [esi], 0x87
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x444398
movzx ecx, cl
test byte [ecx + 0x4b89e8], 0x46
je 0x444394
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x44437e
test edx, edx
jne 0x44439e
mov dword [esi], 0x96
pop edi
pop ebx
ret