Function at 0x43f84b
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 0x43f9bd
je 0x43f9b5
cmp ecx, 0x26
jg 0x43f936
je 0x43f92e
cmp ecx, 0x21
jg 0x43f8dc
je 0x43f8c4
cmp ecx, 9
jl 0x43f9f0
cmp ecx, 0xa
jle 0x43f89f
cmp ecx, 0xb
jle 0x43f9f0
cmp ecx, 0xd
jle 0x43f89f
cmp ecx, 0x20
jne 0x43f9f0
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
mov ecx, eax
jmp 0x43f8af
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x4475a0], al
jne 0x43f8aa
mov dword [esi], 0x95
mov eax, ecx
jmp 0x43fcb4
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x43fcae
mov dword [esi], 0x4b
jmp 0x43fcb4
mov edx, ecx
sub edx, 0x22
je 0x43fb95
dec edx
je 0x43f8fd
dec edx
dec edx
jne 0x43f9f0
mov dword [esi], 0x5a
jmp 0x43f985
movzx edx, byte [ebx + 1]
test byte [edx + 0x4475a0], 4
mov ecx, eax
je 0x43fc84
inc ecx
movzx edx, byte [ecx + ebx]
test byte [edx + 0x4475a0], 4
jne 0x43f910
cmp ecx, eax
jle 0x43fc84
mov dword [esi], 0x84
jmp 0x43f8bd
mov dword [esi], 0x52
jmp 0x43f985
mov eax, ecx
sub eax, 0x27
je 0x43fb95
dec eax
je 0x43f9ad
dec eax
je 0x43f9a5
dec eax
je 0x43f99d
dec eax
je 0x43f995
dec eax
je 0x43f98d
dec eax
jne 0x43f9f0
cmp byte [ebx + 1], 0x2d
jne 0x43f97f
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x43f970
cmp ecx, 0xa
je 0x43f974
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43f966
mov dword [esi], 0x95
jmp 0x43fcb4
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x43fcb4
mov dword [esi], 0x19
jmp 0x43f985
mov dword [esi], 0x56
jmp 0x43f985
mov dword [esi], 0x58
jmp 0x43f985
mov dword [esi], 0x17
jmp 0x43f985
mov dword [esi], 0x16
jmp 0x43f985
mov dword [esi], 0x76
jmp 0x43f985
cmp ecx, 0x3f
jg 0x43fb36
je 0x43fb14
cmp ecx, 0x3b
jg 0x43fa89
je 0x43fa7f
cmp ecx, 0x2f
je 0x43fa41
jle 0x43f9f0
cmp ecx, 0x39
jle 0x43fa05
cmp ecx, 0x3a
je 0x43fc84
test byte [ecx + 0x4475a0], 0x46
jne 0x43fc62
xor eax, eax
inc eax
jmp 0x43fcae
mov dword [esi], 0x81
xor eax, eax
jmp 0x43fa14
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4475a0], 4
jne 0x43fa0f
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4475a0], 0x46
je 0x43fcb4
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4475a0], 0x46
jne 0x43fa2e
jmp 0x43fcae
cmp byte [ebx + 1], 0x2a
jne 0x43fa74
mov cl, byte [ebx + 2]
test cl, cl
je 0x43fa74
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x43fa5f
cmp byte [eax + ebx], 0x2f
je 0x43fa6e
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x43f974
inc eax
jmp 0x43fa54
inc eax
jmp 0x43f974
mov dword [esi], 0x59
jmp 0x43f985
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x43fcb4
mov eax, ecx
sub eax, 0x3c
je 0x43fad8
dec eax
je 0x43fac3
dec eax
jne 0x43f9f0
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x43faab
mov dword [esi], 0x50
jmp 0x43fae7
cmp eax, 0x3e
jne 0x43fab8
mov dword [esi], 0x55
jmp 0x43fae7
mov dword [esi], 0x4d
jmp 0x43f985
xor eax, eax
cmp byte [ebx + 1], 0x3d
mov dword [esi], 0x4c
sete al
inc eax
jmp 0x43fcb4
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x43faef
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x43fcb4
cmp eax, 0x3e
jne 0x43fafc
mov dword [esi], 0x4b
jmp 0x43fae7
cmp eax, 0x3c
jne 0x43fb09
mov dword [esi], 0x54
jmp 0x43fae7
mov dword [esi], 0x4f
jmp 0x43f985
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dword [esi], 0x85
inc eax
jmp 0x43fb28
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4475a0], 4
jne 0x43fb23
jmp 0x43fcb4
mov edx, ecx
sub edx, 0x40
je 0x43fc84
sub edx, 0x18
je 0x43fc04
sub edx, 3
je 0x43fbd8
sub edx, 5
je 0x43fb95
sub edx, 0x18
je 0x43fc04
sub edx, 4
je 0x43fb79
dec edx
dec edx
jne 0x43f9f0
mov dword [esi], 0x5d
jmp 0x43f985
cmp byte [ebx + 1], 0x7c
je 0x43fb8a
mov dword [esi], 0x53
jmp 0x43f985
mov dword [esi], 0x5b
jmp 0x43fae7
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x43fbb1
cmp edx, ecx
jne 0x43fbac
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x43fbb5
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x43fb9e
cmp edx, 0x27
jne 0x43fbc5
mov dword [esi], 0x5e
jmp 0x43fad2
test edx, edx
je 0x43fcae
mov dword [esi], 0x1a
jmp 0x43fad2
xor eax, eax
inc eax
jmp 0x43fbe6
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x43fbeb
inc eax
cmp ecx, 0x5d
jne 0x43fbdd
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x43fcb4
cmp byte [ebx + 1], 0x27
jne 0x43f9f0
movzx ecx, byte [ebx + 2]
push 2
mov dword [esi], 0x83
pop eax
mov edx, 0x94
jmp 0x43fc3a
cmp ecx, 0x27
je 0x43fc3e
movzx ecx, cl
test byte [ecx + 0x4475a0], 8
jne 0x43fc35
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43fc22
mov edi, eax
and edi, 0x80000001
jns 0x43fc4d
dec edi
or edi, 0xfffffffe
inc edi
jne 0x43fc57
test ecx, ecx
jne 0x43fad2
test ecx, ecx
mov dword [esi], edx
je 0x43fcb4
jmp 0x43fad2
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x43fc70
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4475a0], 0x46
jne 0x43fc6b
call fcn.0043f7d5
mov dword [esi], eax
mov eax, edi
jmp 0x43fcb4
movzx ecx, byte [ebx + 1]
xor edx, edx
test ecx, ecx
mov dword [esi], 0x85
je 0x43fcae
movzx ecx, cl
test byte [ecx + 0x4475a0], 0x46
je 0x43fcaa
inc edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x43fc94
test edx, edx
jne 0x43fcb4
mov dword [esi], 0x94
pop edi
pop ebx
ret