Function at 0x462630
Capabilities:
Parse credit card information

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e7fb4
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x80
mov eax, dword [0x704200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x54]
push 0
xorps xmm0, xmm0
push 0x621874
push eax
movups xmmword [ebp - 0x54], xmm0
movq qword [ebp - 0x44], xmm0
call fcn.00542680
xorps xmm0, xmm0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x6c]
movq qword [ebp - 0x5c], xmm0
movups xmmword [ebp - 0x6c], xmm0
call fcn.00542700
xor edi, edi
lea ecx, [ebp - 0x20]
xorps xmm0, xmm0
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x84], edi
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], edi
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x28], edi
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x30], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x34], edi
lea ecx, [ebp - 0x3c]
movq qword [ebp - 0x3c], xmm0
call fcn.00545940
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], edi
call fcn.0053fe60
mov byte [ebp - 4], 5
push edi
lea ecx, [ebp - 0x54]
call fcn.00542600
push eax
lea ecx, [ebp - 0x20]
call fcn.00545870
lea ecx, [ebp - 0x20]
call fcn.00545700
mov esi, eax
mov dword [ebp - 0x70], esi
cmp esi, 2
jl 0x4627d7
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x3b
je 0x4627d7
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x5b
jne 0x462846
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x5d
jne 0x462846
lea ecx, [ebp - 0x24]
call fcn.0053e820
cmp esi, 5
jl 0x4627d7
push 1
lea ecx, [ebp - 0x20]
call fcn.005457a0
lea ecx, [ebp - 0x20]
cmp word [eax], 0x2d
jne 0x4627b8
lea eax, [esi - 3]
push eax
push 3
call fcn.005440d0
push 0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x24]
call fcn.0053e9b0
mov esi, dword [ebp - 0x84]
movzx eax, al
add esi, eax
mov dword [ebp - 0x84], esi
jmp 0x4627dd
lea eax, [esi - 2]
push eax
push 2
call fcn.005440d0
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x24]
call fcn.0053fdf0
mov esi, dword [ebp - 0x84]
inc edi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x8c], edi
call fcn.005425f0
cmp edi, eax
jb 0x462701
lea ecx, [ebp - 0x24]
call fcn.0053fda0
lea ecx, [ebp - 0x3c]
call fcn.00545790
lea ecx, [ebp - 0x30]
call fcn.00545790
lea ecx, [ebp - 0x20]
call fcn.00545790
lea ecx, [ebp - 0x6c]
call fcn.00542660
lea ecx, [ebp - 0x54]
call fcn.00542660
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e465
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0
push 0
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x30]
call fcn.00544ce0
xor esi, esi
mov dword [ebp - 0x78], eax
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x85], 0
mov byte [ebp - 0x7d], 0
call fcn.005457a0
cmp word [eax], 0x40
jne 0x462894
push 1
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x3d
jne 0x462894
push 1
lea ecx, [ebp - 0x20]
call fcn.00544110
jmp 0x46291d
mov edi, dword [ebp - 0x70]
push esi
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x22
jne 0x4628c3
cmp byte [ebp - 0x85], 0
je 0x4628b5
cmp byte [ebp - 0x7d], 0
je 0x462917
test esi, esi
jne 0x4628f6
mov byte [ebp - 0x85], 1
inc esi
jmp 0x462897
push esi
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x5c
jne 0x4628de
cmp byte [ebp - 0x7d], 0
jne 0x4628de
mov byte [ebp - 0x7d], 1
jmp 0x462912
push esi
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x3d
jne 0x4628f6
cmp byte [ebp - 0x85], 0
je 0x462917
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x7d], 0
call fcn.005457a0
mov ecx, dword [ebp - 0x78]
mov ax, word [eax]
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x78], ecx
inc esi
cmp esi, edi
jl 0x462897
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x78]
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x30]
call fcn.005454f0
push esi
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x3d
je 0x46295a
mov edi, dword [ebp - 0x70]
nop
cmp esi, edi
jge 0x462954
inc esi
lea ecx, [ebp - 0x20]
push esi
call fcn.005457a0
cmp word [eax], 0x3d
jne 0x462940
mov edi, dword [ebp - 0x8c]
inc esi
cmp esi, dword [ebp - 0x70]
jge 0x4627d7
push 0
inc esi
lea ecx, [ebp - 0x20]
push esi
call fcn.005440d0
push 3
lea ecx, [ebp - 0x20]
call fcn.005434c0
lea ecx, [ebp - 0x20]
call fcn.00545700
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.005425f0
dec eax
cmp edi, eax
jae 0x462a41
cmp esi, 1
jle 0x462a3b
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x5c
jne 0x462a3b
lea eax, [esi - 2]
push eax
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x5c
je 0x462a3b
inc edi
lea ecx, [ebp - 0x54]
push edi
call fcn.00542600
push eax
lea ecx, [ebp - 0x3c]
call fcn.00545870
push 3
lea ecx, [ebp - 0x3c]
call fcn.005434c0
lea ecx, [ebp - 0x3c]
call fcn.005451f0
test al, al
jne 0x462a2a
push 1
lea ecx, [ebp - 0x20]
call fcn.00544180
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x3c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.00545700
mov esi, eax
lea ecx, [ebp - 0x54]
call fcn.005425f0
dec eax
cmp edi, eax
jb 0x462995
mov dword [ebp - 0x8c], edi
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x2d
jne 0x462a78
lea ecx, [ebp - 0x30]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x24]
call fcn.0053f1d0
mov esi, dword [ebp - 0x84]
movzx eax, al
add esi, eax
mov dword [ebp - 0x84], esi
jmp 0x4627dd
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
lea ecx, [ebp - 0x20]
cmp word [eax], 0x22
jne 0x462b84
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
call fcn.00545700
xor ecx, ecx
mov edx, 2
lea esi, [eax + 1]
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041ea7c
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], esi
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x70], eax
mov esi, 1
mov byte [ebp - 0x7d], 0
call fcn.00545700
cmp eax, esi
jle 0x462b21
mov edi, dword [ebp - 0x70]
nop
push esi
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x22
jne 0x462b65
cmp byte [ebp - 0x7d], 0
je 0x462b18
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x7d], 0
call fcn.005457a0
mov ax, word [eax]
mov word [edi], ax
add edi, 2
lea ecx, [ebp - 0x20]
inc esi
call fcn.00545700
cmp esi, eax
jl 0x462ae0
mov dword [ebp - 0x70], edi
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x70]
xor ecx, ecx
push ecx
push dword [ebp - 0x7c]
mov word [eax], cx
lea ecx, [ebp - 0x30]
push 1
call fcn.005454f0
push eax
lea ecx, [ebp - 0x24]
call fcn.0053f300
mov esi, dword [ebp - 0x84]
movzx eax, al
mov byte [ebp - 4], 5
add esi, eax
push dword [ebp - 0x7c]
mov dword [ebp - 0x84], esi
call fcn.0041e473
add esp, 4
jmp 0x4627dd
push esi
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x5c
jne 0x462af5
cmp byte [ebp - 0x7d], 0
jne 0x462af5
mov byte [ebp - 0x7d], 1
jmp 0x462b0b
push 6
push 1
push 1
push 0
push 0x66dbf4
call fcn.00543e30
lea ecx, [ebp - 0x20]
test eax, eax
je 0x462c28
push 6
call fcn.00544110
push 3
lea ecx, [ebp - 0x20]
call fcn.005434c0
push 8
lea ecx, [ebp - 0x20]
call fcn.005441c0
xorps xmm0, xmm0
push 4
movlpd qword [ebp - 0x74], xmm0
call fcn.0041ea7c
mov esi, eax
mov dword [ebp - 0x70], 4
add esp, 4
mov dword [ebp - 0x74], esi
push 1
push 4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.005454f0
mov edx, esi
mov ecx, eax
call fcn.00541830
test eax, eax
je 0x462c16
push 0
push esi
push 4
lea ecx, [ebp - 0x30]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x24]
call fcn.0053f300
movzx eax, al
add dword [ebp - 0x84], eax
push esi
mov byte [ebp - 4], 5
call fcn.0041e473
add esp, 4
jmp 0x4627d7
push 4
push 1
push 1
push 0
push 0x66dc04
call fcn.00543e30
lea ecx, [ebp - 0x20]
test eax, eax
je 0x462c4e
mov esi, 3
lea eax, [esi + 1]
jmp 0x462cfa
push 4
push 1
push 1
push 0
push 0x66dc10
call fcn.00543e30
test eax, eax
je 0x4627d7
push 4
lea ecx, [ebp - 0x20]
call fcn.00544110
push 1
lea ecx, [ebp - 0x20]
call fcn.005434c0
push 3
push 1
push 1
push 1
push 0x61e0f4
lea ecx, [ebp - 0x20]
call fcn.00543e30
mov dword [ebp - 0x70], eax
test eax, eax
je 0x4627d7
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x62
je 0x462cef
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x42
je 0x462cef
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x61
je 0x462ce8
push 0
lea ecx, [ebp - 0x20]
call fcn.005457a0
cmp word [eax], 0x41
je 0x462ce8
lea ecx, [ebp - 0x20]
call fcn.005443a0
mov esi, eax
jmp 0x462cf4
mov esi, 0xa
jmp 0x462cf4
mov esi, 0xb
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x20]
push eax
call fcn.00544110
push 8
lea ecx, [ebp - 0x20]
call fcn.005434c0
push 0
push 0
push 0x61d060
push 0x61e394
lea ecx, [ebp - 0x20]
call fcn.00543640
lea ecx, [ebp - 0x20]
call fcn.00545700
cdq
xorps xmm0, xmm0
sub eax, edx
movlpd qword [ebp - 0x7c], xmm0
sar eax, 1
push eax
mov dword [ebp - 0x70], eax
call fcn.0041ea7c
mov ecx, dword [ebp - 0x70]
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
cmp esi, 0xb
mov byte [ebp - 4], 8
sete al
movzx eax, al
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov edx, dword [ebp - 0x7c]
mov ecx, eax
call fcn.00541830
test eax, eax
je 0x462dac
push dword [ebp - 0x70]
lea ecx, [ebp - 0x30]
push dword [ebp - 0x7c]
push esi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x24]
call fcn.0053f300
mov esi, dword [ebp - 0x84]
movzx eax, al
mov byte [ebp - 4], 5
add esi, eax
push dword [ebp - 0x7c]
mov dword [ebp - 0x84], esi
call fcn.0041e473
add esp, 4
jmp 0x4627dd
mov esi, dword [ebp - 0x84]
mov byte [ebp - 4], 5
push dword [ebp - 0x7c]
call fcn.0041e473
add esp, 4
jmp 0x4627dd