Function at 0x4466cc
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
xor ebx, ebx
mov eax, 0x1a3
push edi
mov edi, dword [ebp + 8]
inc ebx
mov byte [ebp - 6], bl
mov esi, ecx
mov ecx, 0xd1
cmp edi, eax
jg 0x446ac5
je 0x446aaa
cmp edi, 0x7e
jg 0x4468b2
je 0x446a19
cmp edi, 0x55
jg 0x446856
je 0x44684c
cmp edi, 0x43
jg 0x4467a1
cmp edi, 0x42
jge 0x44677a
cmp edi, 0x32
je 0x446767
cmp edi, 0x3b
je 0x44675d
jle case.0x446ddf.657
cmp edi, 0x3f
jle 0x446749
cmp edi, 0x41
jne case.0x446ddf.657
push 0x40
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
push 0x7e
call dword [eax + 8]
neg eax
sbb al, al
inc al
jmp 0x446df7
push 0x194
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
push 0xa
call dword [eax + 8]
neg eax
sbb eax, eax
inc eax
jmp 0x446f24
mov eax, dword [esi]
mov ecx, esi
push 0x40
call dword [eax + 8]
test eax, eax
je 0x446f20
push 0x41
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
test eax, eax
jne case.0x446ddf.657
jmp 0x446f20
sub edi, 0x46
je 0x446845
sub edi, 0xb
je 0x446803
dec edi
sub edi, 1
jne case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push 0x1f
mov byte [ebp + 0xb], 0
call dword [eax + 8]
test eax, eax
je 0x4467fb
mov eax, dword [esi]
mov ecx, esi
push 0xc
call dword [eax + 8]
cmp eax, 0x40
je case.0x446ddf.657
cmp eax, 0x20
je case.0x446ddf.657
cmp eax, 0x80
je case.0x446ddf.657
cmp eax, 0x200
je case.0x446ddf.657
mov al, byte [ebp + 0xb]
jmp 0x446f24
mov eax, dword [esi]
mov ecx, esi
push 0xc
call dword [eax + 8]
cmp eax, 8
je 0x446832
cmp eax, 0x10
je 0x446832
cmp eax, 0x20
je 0x446832
cmp eax, 0x40
je 0x446832
cmp eax, 0x80
je 0x446832
cmp eax, 0x200
jne 0x446f20
push 0x1c2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
test eax, eax
jmp 0x446f1e
push 0x45
jmp 0x4469c9
push 0x2c5
jmp 0x4469c9
sub edi, 0x59
je 0x446a19
sub edi, 1
je 0x4469a4
sub edi, 1
je 0x4468ab
sub edi, 1
je 0x446889
sub edi, 1
je 0x4468a1
sub edi, 0xe
je case.0x446ddf.656
sub edi, 3
jne case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push 0x5b
call dword [eax + 8]
test eax, eax
je 0x446f20
push 0x5a
jmp 0x44678d
push 0x1aa
jmp 0x4469c9
push 0x5a
jmp 0x4469c9
mov eax, 0x193
cmp edi, eax
jg 0x4469a7
je 0x446967
cmp edi, ecx
jg 0x446904
je 0x446a19
cmp edi, 0xc9
je 0x446a19
cmp edi, 0xcc
jle case.0x446ddf.657
cmp edi, 0xce
jle 0x446b23
cmp edi, 0xd0
je 0x446b23
jmp case.0x446ddf.657
mov eax, edi
sub eax, 0xd2
je 0x446b23
sub eax, 0x5b
je 0x446939
sub eax, 0xe
jne case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push 0x194
call dword [eax + 8]
neg eax
sbb al, al
inc al
movzx eax, al
jmp 0x4469ed
mov eax, dword [esi]
mov ecx, esi
push 0xc
call dword [eax + 8]
cmp eax, 0x10
je case.0x446ddf.657
cmp eax, 0x20
je case.0x446ddf.657
cmp eax, 0x200
je case.0x446ddf.657
cmp eax, 2
jmp 0x446f1e
mov eax, dword [esi]
mov ecx, esi
push 0x1aa
call dword [eax + 8]
test eax, eax
je 0x446984
mov eax, dword [esi]
mov ecx, esi
push 0x38
call dword [eax + 8]
test eax, eax
jne 0x4469a2
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
cmp eax, 0x11
je 0x4469a2
mov eax, dword [esi]
mov ecx, esi
push 0x65
call dword [eax + 8]
cmp eax, ebx
je 0x4469a4
xor bl, bl
push ebx
jmp 0x4469ee
add edi, 0xfffffe6c
cmp edi, 0xe
ja case.0x446ddf.657
movzx eax, byte [edi + 0x446f50]
jmp dword [eax*4 + 0x446f30]
push 0x197
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
neg eax
sbb eax, eax
neg eax
jmp 0x446f24
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
cmp eax, 0x11
setne al
push eax
mov ecx, esi
call fcn.00446669
jmp 0x446f24
push ebx
mov ecx, esi
call fcn.00446669
test al, al
je 0x446a17
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
cmp eax, 0x11
jne 0x446a19
xor bl, bl
push ebx
mov ecx, esi
call fcn.00446641
jmp 0x446f24
mov eax, dword [esi]
mov ecx, esi
push 0x65
call dword [eax + 8]
cmp eax, 2
mov ecx, esi
setne al
movzx eax, al
push eax
call fcn.00446669
test al, al
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
cmp eax, 0x11
jmp 0x446796
mov eax, dword [esi]
mov ecx, esi
push 0x1a2
call dword [eax + 0x8c]
cmp eax, ebx
je 0x446a84
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
mov byte [ebp + 0xb], 0
cmp eax, 0x11
je 0x446a87
mov byte [ebp + 0xb], bl
push ebx
mov ecx, esi
call fcn.00446641
test al, al
je 0x446f20
cmp byte [ebp + 0xb], 0
jmp 0x446796
push ebx
mov ecx, esi
call fcn.00446641
jmp 0x446a40
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
xor ecx, ecx
cmp eax, 0x11
setne cl
mov al, cl
jmp 0x446f24
mov eax, 0x28e
cmp edi, eax
jg 0x446dc9
je 0x446d7d
mov eax, 0x1bd
cmp edi, eax
jg 0x446cdb
je 0x446d69
add eax, 0xffffffeb
cmp edi, eax
jg 0x446c41
je 0x446c1d
mov ecx, 0x1a4
cmp edi, ecx
je case.0x4469bd.412
jle case.0x446ddf.657
cmp edi, 0x1a6
jle 0x446c17
cmp edi, 0x1a7
jne case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
mov ecx, dword [0x12fa708]
cmp eax, 0x11
mov dword [ebp - 0xc], eax
sete byte [ebp - 1]
cmp dword [ecx + 0x1738], ebx
jne 0x446b5c
cmp byte [esi + 0x58], 0
je 0x446b5c
mov eax, dword [esi]
mov ecx, esi
push 0x1f4
call dword [eax + 8]
mov dword [ebp - 0xc], eax
cmp eax, 0x10
je 0x446b6c
mov byte [ebp + 0xb], 0
cmp eax, 0x100
jne 0x446b6f
mov byte [ebp + 0xb], bl
mov eax, dword [esi]
mov ecx, esi
push 0xd1
call dword [eax + 8]
test eax, eax
je 0x446b92
mov eax, dword [esi]
mov ecx, esi
push 0xd1
call dword [eax + 0x20]
mov byte [ebp - 2], bl
test al, al
jne 0x446b96
mov byte [ebp - 2], 0
mov eax, dword [esi]
mov ecx, esi
push 0x1a2
call dword [eax + 8]
test eax, eax
je 0x446bba
mov eax, dword [esi]
mov ecx, esi
push 0x1a2
call dword [eax + 0x20]
test al, al
je 0x446bba
mov al, bl
jmp 0x446bbc
xor al, al
cmp edi, 0xcd
jl 0x446c0f
cmp edi, 0xce
jle 0x446bfc
cmp edi, 0xd0
je 0x446bf0
cmp edi, 0xd2
je 0x446bfc
cmp edi, 0x1a7
jne 0x446c0f
cmp byte [ebp + 0xb], 0
je 0x446c0b
cmp byte [ebp - 1], 0
jmp 0x446c06
cmp byte [ebp + 0xb], 0
je 0x446c0b
test al, al
jne 0x446c0b
jmp 0x446bea
cmp dword [ebp - 0xc], 0x10
je 0x446c0b
cmp byte [ebp - 2], 0
mov byte [ebp - 6], bl
je 0x446c0f
mov byte [ebp - 6], 0
push dword [ebp - 6]
jmp 0x446a1a
push ecx
jmp 0x4469c9
mov eax, dword [esi]
mov edi, 0x1a7
push edi
mov ecx, esi
call dword [eax + 8]
test eax, eax
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 0x20]
test al, al
jmp 0x446796
sub edi, 0x1aa
je 0x446c65
sub edi, 0x11
je 0x446d73
sub edi, 1
jne case.0x446ddf.657
push 0x1b9
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
push 0x38
call dword [eax + 8]
test eax, eax
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
push 0x65
call dword [eax + 8]
cmp eax, ebx
jne 0x446f20
mov eax, dword [esi]
mov ecx, esi
push 0x68
call dword [eax + 8]
cmp eax, ebx
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
push 0x20b
call dword [eax + 8]
cmp eax, 5
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
push 0xc8
call dword [eax + 8]
cmp eax, 0x11
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
push 0x32
call dword [eax + 8]
cmp eax, 0x12c
jle case.0x446ddf.657
jmp 0x446f20
sub edi, 0x1be
je 0x446d73
sub edi, 1
je 0x446c5b
sub edi, 1
je 0x446d69
sub edi, 1
je 0x446d4e
sub edi, 1
je 0x446d35
sub edi, 1
je 0x446d12
sub edi, 0x31
jne case.0x446ddf.657
jmp 0x446a19
push 0x1c2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
test eax, eax
je 0x446f20
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x94]
jmp 0x446c3a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x94]
test al, al
je 0x446f20
push 0x51
jmp 0x446837
mov eax, dword [esi]
mov ecx, esi
push 0x1c2
call dword [eax + 8]
test eax, eax
je 0x446f20
push 0x1c3
jmp 0x446d17
push 0x1ba
jmp 0x4469c9
push 0x1b8
jmp 0x4469c9
mov eax, dword [0x12fa708]
mov ecx, esi
cmp dword [eax + 0x1738], ebx
mov eax, dword [esi]
jne 0x446dc2
mov edi, 0x1f4
push edi
call dword [eax + 8]
cmp eax, ebx
je case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 8]
cmp eax, 4
je case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 8]
cmp eax, 0x100
jmp 0x446f1e
mov edi, 0xc8
jmp 0x446d93
add edi, 0xfffffd71
cmp edi, 0x54
ja case.0x446ddf.657
movzx eax, byte [edi + 0x446f98]
jmp dword [eax*4 + 0x446f60]
mov eax, dword [esi]
mov ecx, esi
push 0x19c
call dword [eax + 8]
test eax, eax
setne al
movzx eax, al
push eax
jmp 0x446a1a
push 0x2c7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
test eax, eax
jne case.0x446ddf.657
push 0x2c9
jmp 0x44678d
push 0x2c5
jmp 0x446e05
push 0x2c7
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
push 0x2c5
call dword [eax + 8]
test eax, eax
jne case.0x446ddf.657
push 0x2c7
jmp 0x44678d
push 0x2c9
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x90]
test al, al
jne 0x4469a2
mov eax, dword [esi]
mov ecx, esi
push 0x20b
call dword [eax + 8]
cmp eax, 0x15
jmp 0x4469a0
push 0x2d8
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
push 0x2d8
call dword [eax + 8]
test eax, eax
jne case.0x446ddf.657
push 0x2dc
jmp 0x44678d
push 0x2dc
jmp 0x4469c9
mov eax, dword [esi]
mov ecx, esi
push 0x2dc
call dword [eax + 8]
test eax, eax
je 0x446f20
push 0x2e3
jmp 0x44678d
mov eax, dword [0x12fa708]
mov ecx, esi
cmp dword [eax + 0x1738], ebx
mov eax, dword [esi]
jne 0x446ef7
mov edi, 0x1f4
push edi
call dword [eax + 8]
cmp eax, 0x10
je case.0x446ddf.657
mov eax, dword [esi]
mov ecx, esi
push edi
call dword [eax + 8]
cmp eax, 0x80
jmp 0x446f1e
mov edi, 0xc8
jmp 0x446edf
mov eax, dword [esi]
mov ecx, esi
push 0xc
call dword [eax + 8]
mov edx, dword [esi]
mov ecx, esi
push 0x1f
mov edi, eax
call dword [edx + 8]
test eax, eax
je 0x446f20
cmp edi, 0x10
je case.0x446ddf.657
cmp edi, 0x20
je case.0x446ddf.657
xor ebx, ebx
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4