Function at 0x443123
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 0x443295
je 0x44328d
cmp ecx, 0x26
jg 0x44320e
je 0x443206
cmp ecx, 0x21
jg 0x4431b4
je 0x44319c
cmp ecx, 9
jl 0x4432c8
cmp ecx, 0xa
jle 0x443177
cmp ecx, 0xb
jle 0x4432c8
cmp ecx, 0xd
jle 0x443177
cmp ecx, 0x20
jne 0x4432c8
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x443187
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x44ed90], al
jne 0x443182
mov dword [esi], 0x95
mov eax, ecx
jmp 0x44358c
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x443586
mov dword [esi], 0x4b
jmp 0x44358c
mov edx, ecx
sub edx, 0x22
je 0x44346d
dec edx
je 0x4431d5
dec edx
dec edx
jne 0x4432c8
mov dword [esi], 0x5a
jmp 0x44325d
movzx edx, byte [ebx + 1]
test byte [edx + 0x44ed90], 4
mov ecx, eax
je 0x44355c
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x44ed90], 4
jne 0x4431e8
cmp ecx, eax
jle 0x44355c
mov dword [esi], 0x84
jmp 0x443195
mov dword [esi], 0x52
jmp 0x44325d
mov eax, ecx
sub eax, 0x27
je 0x44346d
dec eax
je 0x443285
dec eax
je 0x44327d
dec eax
je 0x443275
dec eax
je 0x44326d
dec eax
je 0x443265
dec eax
jne 0x4432c8
cmp byte [ebx + 1], 0x2d
jne 0x443257
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x443248
cmp ecx, 0xa
je 0x44324c
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x44323e
mov dword [esi], 0x95
jmp 0x44358c
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x44358c
mov dword [esi], 0x19
jmp 0x44325d
mov dword [esi], 0x56
jmp 0x44325d
mov dword [esi], 0x58
jmp 0x44325d
mov dword [esi], 0x17
jmp 0x44325d
mov dword [esi], 0x16
jmp 0x44325d
mov dword [esi], 0x76
jmp 0x44325d
cmp ecx, 0x3f
jg 0x44340e
je 0x4433ec
cmp ecx, 0x3b
jg 0x443361
je 0x443357
cmp ecx, 0x2f
je 0x443319
jle 0x4432c8
cmp ecx, 0x39
jle 0x4432dd
cmp ecx, 0x3a
je 0x44355c
test byte [ecx + 0x44ed90], 0x46
jne 0x44353a
xor eax, eax
inc eax
jmp 0x443586
mov dword [esi], 0x81
xor eax, eax
jmp 0x4432ec
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x44ed90], 4
jne 0x4432e7
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x44ed90], 0x46
je 0x44358c
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x44ed90], 0x46
jne 0x443306
jmp 0x443586
cmp byte [ebx + 1], 0x2a
jne 0x44334c
mov cl, byte [ebx + 2]
test cl, cl
je 0x44334c
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x443337
cmp byte [eax + ebx], 0x2f
je 0x443346
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x44324c
inc eax
jmp 0x44332c
inc eax
jmp 0x44324c
mov dword [esi], 0x59
jmp 0x44325d
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x44358c
mov eax, ecx
sub eax, 0x3c
je 0x4433b0
dec eax
je 0x44339b
dec eax
jne 0x4432c8
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x443383
mov dword [esi], 0x50
jmp 0x4433bf
cmp eax, 0x3e
jne 0x443390
mov dword [esi], 0x55
jmp 0x4433bf
mov dword [esi], 0x4d
jmp 0x44325d
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x44358c
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x4433c7
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x44358c
cmp eax, 0x3e
jne 0x4433d4
mov dword [esi], 0x4b
jmp 0x4433bf
cmp eax, 0x3c
jne 0x4433e1
mov dword [esi], 0x54
jmp 0x4433bf
mov dword [esi], 0x4f
jmp 0x44325d
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
jmp 0x443400
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x44ed90], 4
jne 0x4433fb
jmp 0x44358c
mov edx, ecx
sub edx, 0x40
je 0x44355c
sub edx, 0x18
je 0x4434dc
sub edx, 3
je 0x4434b0
sub edx, 5
je 0x44346d
sub edx, 0x18
je 0x4434dc
sub edx, 4
je 0x443451
dec edx
dec edx
jne 0x4432c8
mov dword [esi], 0x5d
jmp 0x44325d
cmp byte [ebx + 1], 0x7c
je 0x443462
mov dword [esi], 0x53
jmp 0x44325d
mov dword [esi], 0x5b
jmp 0x4433bf
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x443489
cmp edx, ecx
jne 0x443484
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x44348d
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x443476
cmp edx, 0x27
jne 0x44349d
mov dword [esi], 0x5e
jmp 0x4433aa
test edx, edx
je 0x443586
mov dword [esi], 0x1a
jmp 0x4433aa
xor eax, eax
inc eax
jmp 0x4434be
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4434c3
inc eax
cmp ecx, 0x5d
jne 0x4434b5
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x44358c
cmp byte [ebx + 1], 0x27
jne 0x4432c8
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x443512
cmp ecx, 0x27
je 0x443516
movzx ecx, cl
test byte [ecx + 0x44ed90], 8
jne 0x44350d
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x4434fa
mov edi, eax
and edi, 0x80000001
jns 0x443525
dec edi
or edi, 0xfffffffe
inc edi
jne 0x44352f
test ecx, ecx
jne 0x4433aa
test ecx, ecx
mov dword [esi], edx
je 0x44358c
jmp 0x4433aa
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x443548
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x44ed90], 0x46
jne 0x443543
call fcn.004430ad
mov dword [esi], eax
mov eax, edi
jmp 0x44358c
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
mov dword [esi], 0x85
je 0x443586
movzx ecx, cl
test byte [ecx + 0x44ed90], 0x46
je 0x443582
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x44356c
test edx, edx
jne 0x44358c
mov dword [esi], 0x94
pop edi
pop ebx
ret