Function at 0x46e760
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [esp + 0x40]
mov dword [ecx + 0xa4], 0
mov dword [esp + 0x18], eax
mov byte [esp + 0x16], al
lea eax, [ecx + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0xa0]
mov byte [eax], 0
mov eax, dword [ecx + 0x94]
mov edx, dword [ecx + 0x98]
cmp eax, edx
je 0x46e859
mov ebx, ecx
movzx ecx, byte [esp + 0x18]
cmp cl, byte [eax]
je 0x46e874
lea ebp, [ebx + 0xa8]
jmp 0x46e7cd
movzx ecx, byte [esp + 0x16]
cmp byte [eax], cl
je 0x46e874
lea edx, [eax + 1]
mov esi, dword [ebx + 0xa4]
mov ecx, 0xf
mov dword [ebx + 0x94], edx
movzx edx, byte [eax]
mov eax, dword [ebx + 0xa0]
lea edi, [esi + 1]
cmp eax, ebp
je 0x46e7f7
mov ecx, dword [ebx + 0xa8]
cmp edi, ecx
jbe 0x46e831
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
mov byte [esp + 0x17], dl
call fcn.00467a90
sub esp, 0x10
mov eax, dword [ebx + 0xa0]
movzx edx, byte [esp + 0x17]
mov byte [eax + esi], dl
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0xa4], edi
mov byte [eax + esi + 1], 0
mov eax, dword [ebx + 0x94]
mov edx, dword [ebx + 0x98]
cmp eax, edx
jne 0x46e7c0
cmp byte [esp + 0x18], 0x3a
je 0x46e8a3
mov dword [esp + 4], 0x48e260
mov dword [esp], 0
call fcn.0047a770
lea edi, [eax + 1]
movzx ecx, byte [esp + 0x18]
mov dword [ebx + 0x94], edi
cmp byte [eax], cl
jne 0x46e859
cmp edi, edx
je 0x46e859
lea edx, [eax + 2]
mov dword [ebx + 0x94], edx
cmp byte [eax + 1], 0x5d
jne 0x46e859
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov dword [esp + 4], 0x48e260
mov dword [esp], 1
call fcn.0047a770
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [ebx + 0x88]
movzx ecx, byte [esi]
test cl, cl
jne 0x46ef3a
jmp 0x46ef90
cmp cl, al
jne 0x46ef30
mov dword [ebx + 0x84], 1
movsx eax, byte [esi + 1]
lea ecx, [ebx + 0xa0]
mov dword [esp + 8], 1
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xa4]
mov dword [esp + 4], eax
call fcn.004675d0
sub esp, 0x10
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
nop
sub edx, 0x38
cmp dl, 1
jbe 0x46f09f
mov eax, dword [ebx + 0xa4]
lea esi, [ebx + 0xa0]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 1
mov dword [esp], 0
mov edi, 2
mov ecx, esi
mov dword [esp + 4], eax
call fcn.004675d0
sub esp, 0x10
mov eax, dword [ebx + 0x94]
cmp eax, dword [ebx + 0x98]
je 0x46f02c
mov ecx, dword [ebx + 0x9c]
movzx ebp, byte [eax]
mov ecx, dword [ecx + 0x18]
mov edx, ebp
test byte [ecx + ebp*2], 8
je 0x46f02c
sub edx, 0x38
cmp dl, 1
jbe 0x46f02c
lea edx, [eax + 1]
mov ecx, esi
mov dword [ebx + 0x94], edx
movsx eax, byte [eax]
mov dword [esp], eax
call fcn.00467bc0
sub esp, 4
cmp edi, 1
jne 0x46f040
mov dword [ebx + 0x84], 2
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, 1
jmp 0x46efe4
mov byte [esi + edi + 0x11d], cl
mov eax, ecx
jmp 0x46ef18
lea edx, [eax + 1]
mov edi, dword [ecx + 0x9c]
mov ebx, ecx
mov dword [ecx + 0x94], edx
movsx ebp, byte [eax]
mov edx, ebp
movzx esi, dl
mov byte [esp + 0x1f], dl
movzx ecx, byte [edi + esi + 0x11d]
test cl, cl
je 0x46f2b0
mov eax, dword [ebx + 0x88]
movzx edi, byte [eax]
mov edx, edi
test dl, dl
je 0x46f132
cmp cl, dl
jne 0x46f128
jmp 0x46f220
cmp dl, cl
je 0x46f220
add eax, 2
movzx edx, byte [eax]
test dl, dl
jne 0x46f120
cmp byte [esp + 0x1f], 0x62
je 0x46f22d
cmp byte [esp + 0x1f], 0x42
je 0x46f2e4
movzx ecx, byte [esp + 0x1f]
mov eax, ecx
and eax, 0xffffffdf
cmp al, 0x44
je 0x46f290
mov eax, ecx
and eax, 0xffffffdb
cmp al, 0x53
je 0x46f290
cmp cl, 0x63
je 0x46f397
movzx eax, byte [esp + 0x1f]
lea edi, [ebx + 0xa0]
cmp al, 0x78
je 0x46f317
cmp al, 0x75
je 0x46f317
mov eax, dword [ebx + 0x9c]
mov edx, dword [ebx + 0xa4]
mov eax, dword [eax + 0x18]
test byte [eax + esi*2], 8
je 0x46f3ca
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 1
mov ecx, edi
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.004675d0
mov eax, dword [ebx + 0x94]
sub esp, 0x10
cmp eax, dword [ebx + 0x98]
jne 0x46f1fc
jmp 0x46f20e
lea edx, [eax + 1]
mov ecx, edi
mov dword [ebx + 0x94], edx
movsx eax, byte [eax]
mov dword [esp], eax
call fcn.00467bc0
mov eax, dword [ebx + 0x94]
sub esp, 4
cmp eax, dword [ebx + 0x98]
je 0x46f20e
mov edx, dword [ebx + 0x9c]
movzx ecx, byte [eax]
mov edx, dword [edx + 0x18]
test byte [edx + ecx*2], 8
jne 0x46f1d5
mov dword [ebx + 0x84], 4
jmp 0x46f266
cmp byte [esp + 0x1f], 0x62
jne 0x46f270
cmp dword [ebx + 0x7c], 2
je 0x46f270
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x84], 0x18
mov dword [esp + 0xc], 0x70
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.004675d0
sub esp, 0x10
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebx + 0x84], 1
movsx eax, byte [eax + 1]
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], eax
jmp 0x46f245
mov dword [ebx + 0x84], 0xe
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], ebp
jmp 0x46f245
mov eax, dword [edi]
mov ecx, ebp
mov eax, dword [eax + 0x20]
cmp eax, 0x45b120
jne 0x46f301
test cl, cl
je 0x46f2d0
mov byte [edi + esi + 0x11d], cl
jmp 0x46f106
mov eax, dword [ebx + 0x88]
cmp byte [eax], 0
jne 0x46f128
jmp 0x46f132
mov dword [ebx + 0x84], 0x18
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], 0x6e
jmp 0x46f245
mov ecx, edi
mov dword [esp + 4], 0
mov dword [esp], ebp
call eax
sub esp, 8
mov ecx, eax
jmp 0x46f2be
mov eax, dword [ebx + 0xa0]
mov dword [ebx + 0xa4], 0
mov byte [eax], 0
xor eax, eax
cmp byte [esp + 0x1f], 0x78
setne al
xor ebp, ebp
lea esi, [eax + eax + 2]
lea esi, [esi]
mov eax, dword [ebx + 0x94]
cmp eax, dword [ebx + 0x98]
je 0x46f40e
mov edx, dword [ebx + 0x9c]
movzx ecx, byte [eax]
mov edx, dword [edx + 0x18]
test byte [edx + ecx*2], 0x10
je 0x46f40e
lea edx, [eax + 1]
mov ecx, edi
add ebp, 1
mov dword [ebx + 0x94], edx
movsx eax, byte [eax]
mov dword [esp], eax
call fcn.00467bc0
sub esp, 4
cmp esi, ebp
jne 0x46f340
mov dword [ebx + 0x84], 3
jmp 0x46f266
mov eax, dword [ebx + 0x94]
cmp eax, dword [ebx + 0x98]
je 0x46f422
lea edx, [eax + 1]
mov dword [ebx + 0x84], 1
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x94], edx
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
jmp 0x46f245
mov dword [ebx + 0x84], 1
mov ecx, edi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.004675d0
sub esp, 0x10
jmp 0x46f266