Function at 0x10040d30
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 0x10040d5b
mov eax, dword [ebp + 0x14]
and eax, 0x1000000
or eax, 0
jne 0x10040d85
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp edi, 1
jne 0x10040d6a
mov eax, dword [ebp + 0x14]
and eax, 0x2000000
jmp 0x10040d4b
cmp edi, 2
jne 0x10040d79
mov eax, dword [ebp + 0x14]
and eax, 0x800000
jmp 0x10040d4b
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 2
or eax, ecx
je case.0x10040df6.97
mov ebx, dword [ebp + 0xc]
push ebx
push dword [ebp + 8]
call fcn.10040cd0
test al, al
je case.0x10040df6.97
push esi
push dword [ebp + 8]
call fcn.10040cd0
test al, al
je case.0x10040df6.97
lea edx, [esi + esi*8]
shl edx, 2
mov dword [ebp - 8], edx
mov ecx, dword [edx + 0x10043ba4]
mov eax, ecx
shr eax, 0x13
and al, 1
cmp edi, 1
je 0x10040dc3
test al, al
jne case.0x10040df6.97
jmp 0x10040dc7
test al, al
je case.0x10040df6.97
lea eax, [ebx + ebx*8]
shl eax, 2
lea edx, [edx + 0x10043ba0]
mov dword [ebp - 4], eax
cmp esi, 0x25
je case.0x10040df6.98
lea eax, [esi - 1]
cmp eax, 0x2c
jbe case.0x10040df6.97
lea eax, [esi - 0x61]
cmp eax, 0x37
ja case.0x10040df6.98
movzx eax, byte [eax + 0x100410fc]
jmp dword [eax*4 + 0x100410f4]
cmp ebx, 0x25
jne 0x10040ed1
mov edx, dword [ebp + 8]
cmp byte [edx + 5], 0
je 0x10040eb1
cmp edi, 0xb
je 0x10040e1d
cmp edi, 2
jne 0x10040e5d
cmp esi, 0x25
jne 0x10040e3d
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 0x20
or eax, ecx
je case.0x10040df6.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x4b
jne 0x10040e5d
mov ecx, dword [ebp + 0x18]
xor eax, eax
and ecx, 0x10
or eax, ecx
je case.0x10040df6.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.0x10040df6.97
cmp edi, 0xb
jne 0x10040eb1
cmp esi, 0x8d
je case.0x10040df6.97
cmp esi, 0x8e
je case.0x10040df6.97
cmp esi, 0x91
je case.0x10040df6.97
cmp esi, 0x34
je case.0x10040df6.97
cmp esi, 0x33
je case.0x10040df6.97
cmp esi, 0x32
je case.0x10040df6.97
push esi
lea eax, [edx + 0xb0]
push eax
call fcn.10040c80
test al, al
je case.0x10040df6.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x25
je case.0x10040df6.97
cmp ebx, 0x2c
jne 0x10040f28
mov eax, dword [ebp + 8]
cmp byte [eax + 6], 0
je case.0x10040df6.97
test edi, edi
je 0x10040ef9
cmp edi, 2
jne case.0x10040df6.97
cmp esi, 0x5d
je 0x100410e8
cmp esi, 0x5e
je 0x100410e8
cmp esi, 0x54
je 0x100410e8
cmp esi, 0x55
je 0x100410e8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp ebx, 0x2b
jne 0x10040f69
mov eax, dword [ebp + 8]
cmp byte [eax + 6], 0
je case.0x10040df6.97
cmp edi, 2
jne case.0x10040df6.97
cmp esi, 0x63
je 0x100410e8
cmp esi, 0x44
je 0x100410e8
cmp esi, 0x46
je 0x100410e8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, 0x2c
je case.0x10040df6.97
cmp esi, 0x2b
je case.0x10040df6.97
shr ecx, 0xc
test cl, 1
jne case.0x10040df6.97
mov ecx, dword [ebp + 8]
cmp byte [ecx + 5], 0
je 0x1004107d
cmp edi, 0xb
jne 0x1004107d
mov eax, dword [edx + 4]
and eax, 0x371020
cmp eax, 0x40000
jne case.0x10040df6.97
mov edi, dword [ebp - 4]
mov eax, dword [edi + 0x10043ba4]
shr eax, 0xc
test al, 1
jne 0x10040fc8
cmp ebx, esi
jne case.0x10040df6.97
cmp esi, 0x91
je case.0x10040df6.97
cmp esi, 0x8c
je case.0x10040df6.97
cmp esi, 0x8b
je case.0x10040df6.97
cmp esi, 0x8d
je case.0x10040df6.97
cmp esi, 0x8e
je case.0x10040df6.97
cmp esi, 0x71
je case.0x10040df6.97
cmp esi, 0x51
je case.0x10040df6.97
cmp esi, 0x52
je case.0x10040df6.97
cmp esi, 0x3f
je case.0x10040df6.97
cmp esi, 0x3e
je case.0x10040df6.97
cmp esi, 0x32
je case.0x10040df6.97
cmp esi, 0x34
je case.0x10040df6.97
cmp esi, 0x33
je case.0x10040df6.97
cmp esi, 0x4d
je 0x1004105e
cmp esi, 0x4e
je 0x1004105e
cmp esi, 0x83
jne 0x10041080
cmp ebx, 0x40
je 0x100410e8
cmp ebx, 0x43
je 0x100410e8
cmp ebx, 0x48
je 0x100410e8
cmp ebx, 0x72
je 0x100410e8
cmp ebx, 0x74
je 0x100410e8
jmp 0x10041080
mov edi, dword [ebp - 4]
cmp byte [ecx + 7], 0
lea ebx, [edi + 0x10043ba0]
push edx
push ebx
je 0x10041095
call fcn.10018730
jmp 0x1004109a
call fcn.10018630
mov edx, dword [ebp - 8]
mov cl, al
test cl, cl
je 0x100410b3
mov eax, dword [edx + 0x10043ba4]
xor eax, dword [ebx + 4]
test eax, 0xffeaffff
je 0x100410e8
mov eax, dword [ebx + 4]
test eax, 0x1000
je case.0x10040df6.97
test cl, cl
je case.0x10040df6.97
mov ecx, dword [edx + 0x10043ba4]
xor eax, ecx
test eax, 0x7f000000
jne case.0x10040df6.97
test ecx, 0xe00000
jne case.0x10040df6.97
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18