Function at 0x100454a0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0x1c]
test edi, edi
jne 0x100454cb
mov eax, dword [ebp + 0x14]
and eax, 0x1000000
or eax, 0
jne 0x100454f5
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp edi, 1
jne 0x100454da
mov eax, dword [ebp + 0x14]
and eax, 0x2000000
jmp 0x100454bb
cmp edi, 2
jne 0x100454e9
mov eax, dword [ebp + 0x14]
and eax, 0x800000
jmp 0x100454bb
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 2
or eax, ecx
je case.0x10045566.97
mov ebx, dword [ebp + 0xc]
push ebx
push dword [ebp + 8]
call fcn.10045440
test al, al
je case.0x10045566.97
push esi
push dword [ebp + 8]
call fcn.10045440
test al, al
je case.0x10045566.97
lea edx, [esi + esi*8]
shl edx, 2
mov dword [ebp - 8], edx
mov ecx, dword [edx + 0x10048bdc]
mov eax, ecx
shr eax, 0x13
and al, 1
cmp edi, 1
je 0x10045533
test al, al
jne case.0x10045566.97
jmp 0x10045537
test al, al
je case.0x10045566.97
lea eax, [ebx + ebx*8]
shl eax, 2
lea edx, [edx + 0x10048bd8]
mov dword [ebp - 4], eax
cmp esi, 0x25
je case.0x10045566.98
lea eax, [esi - 1]
cmp eax, 0x2c
jbe case.0x10045566.97
lea eax, [esi - 0x61]
cmp eax, 0x37
ja case.0x10045566.98
movzx eax, byte [eax + 0x1004586c]
jmp dword [eax*4 + 0x10045864]
cmp ebx, 0x25
jne 0x10045641
mov edx, dword [ebp + 8]
cmp byte [edx + 5], 0
je 0x10045621
cmp edi, 0xb
je 0x1004558d
cmp edi, 2
jne 0x100455cd
cmp esi, 0x25
jne 0x100455ad
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 0x20
or eax, ecx
je case.0x10045566.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x4b
jne 0x100455cd
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 0x10
or eax, ecx
je case.0x10045566.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 0x20
or eax, ecx
jne case.0x10045566.97
cmp edi, 0xb
jne 0x10045621
cmp esi, 0x8d
je case.0x10045566.97
cmp esi, 0x8e
je case.0x10045566.97
cmp esi, 0x91
je case.0x10045566.97
cmp esi, 0x34
je case.0x10045566.97
cmp esi, 0x33
je case.0x10045566.97
cmp esi, 0x32
je case.0x10045566.97
push esi
lea eax, [edx + 0xb0]
push eax
call fcn.100453f0
test al, al
je case.0x10045566.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x25
je case.0x10045566.97
cmp ebx, 0x2c
jne 0x10045698
mov eax, dword [ebp + 8]
cmp byte [eax + 6], 0
je case.0x10045566.97
test edi, edi
je 0x10045669
cmp edi, 2
jne case.0x10045566.97
cmp esi, 0x5d
je 0x10045858
cmp esi, 0x5e
je 0x10045858
cmp esi, 0x54
je 0x10045858
cmp esi, 0x55
je 0x10045858
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ebx, 0x2b
jne 0x100456d9
mov eax, dword [ebp + 8]
cmp byte [eax + 6], 0
je case.0x10045566.97
cmp edi, 2
jne case.0x10045566.97
cmp esi, 0x63
je 0x10045858
cmp esi, 0x44
je 0x10045858
cmp esi, 0x46
je 0x10045858
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x2c
je case.0x10045566.97
cmp esi, 0x2b
je case.0x10045566.97
shr ecx, 0xc
test cl, 1
jne case.0x10045566.97
mov ecx, dword [ebp + 8]
cmp byte [ecx + 5], 0
je 0x100457ed
cmp edi, 0xb
jne 0x100457ed
mov eax, dword [edx + 4]
and eax, 0x371020
cmp eax, 0x40000
jne case.0x10045566.97
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x10048bdc]
shr eax, 0xc
test al, 1
jne 0x10045738
cmp ebx, esi
jne case.0x10045566.97
cmp esi, 0x91
je case.0x10045566.97
cmp esi, 0x8c
je case.0x10045566.97
cmp esi, 0x8b
je case.0x10045566.97
cmp esi, 0x8d
je case.0x10045566.97
cmp esi, 0x8e
je case.0x10045566.97
cmp esi, 0x71
je case.0x10045566.97
cmp esi, 0x51
je case.0x10045566.97
cmp esi, 0x52
je case.0x10045566.97
cmp esi, 0x3f
je case.0x10045566.97
cmp esi, 0x3e
je case.0x10045566.97
cmp esi, 0x32
je case.0x10045566.97
cmp esi, 0x34
je case.0x10045566.97
cmp esi, 0x33
je case.0x10045566.97
cmp esi, 0x4d
je 0x100457ce
cmp esi, 0x4e
je 0x100457ce
cmp esi, 0x83
jne 0x100457f0
cmp ebx, 0x40
je 0x10045858
cmp ebx, 0x43
je 0x10045858
cmp ebx, 0x48
je 0x10045858
cmp ebx, 0x72
je 0x10045858
cmp ebx, 0x74
je 0x10045858
jmp 0x100457f0
mov edi, dword [ebp - 4]
cmp byte [ecx + 7], 0
lea ebx, [edi + 0x10048bd8]
push edx
push ebx
je 0x10045805
call fcn.1001c540
jmp 0x1004580a
call fcn.1001c440
mov edx, dword [ebp - 8]
mov cl, al
test cl, cl
je 0x10045823
mov eax, dword [edx + 0x10048bdc]
xor eax, dword [ebx + 4]
test eax, 0xffeaffff
je 0x10045858
mov eax, dword [ebx + 4]
test eax, 0x1000
je case.0x10045566.97
test cl, cl
je case.0x10045566.97
mov ecx, dword [edx + 0x10048bdc]
xor eax, ecx
test eax, 0x7f000000
jne case.0x10045566.97
test ecx, 0xe00000
jne case.0x10045566.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18