Function at 0x483140
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 0x5ce67d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x80
mov eax, dword [0x6dd1e4]
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 0x60477c
push eax
movups xmmword [ebp - 0x54], xmm0
movq qword [ebp - 0x44], xmm0
call fcn.0051b070
xorps xmm0, xmm0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x6c]
movq qword [ebp - 0x5c], xmm0
movups xmmword [ebp - 0x6c], xmm0
call fcn.0051b0f0
xor esi, esi
lea ecx, [ebp - 0x20]
xorps xmm0, xmm0
mov dword [ebp - 0x84], esi
xor edi, edi
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x18], esi
call fcn.0051e180
xorps xmm0, xmm0
mov dword [ebp - 0x28], esi
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x30], xmm0
call fcn.0051e180
xorps xmm0, xmm0
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x3c]
movq qword [ebp - 0x3c], xmm0
call fcn.0051e180
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
call fcn.00518880
mov byte [ebp - 4], 5
push edi
lea ecx, [ebp - 0x54]
call fcn.0051aff0
push eax
lea ecx, [ebp - 0x20]
call fcn.0051e0b0
lea ecx, [ebp - 0x20]
call fcn.0051df40
mov edi, eax
cmp edi, 2
jl 0x483350
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x3b
je 0x483350
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x5b
jne 0x483358
lea eax, [edi - 1]
push eax
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x5d
jne 0x483358
lea ecx, [ebp - 0x24]
call fcn.00517240
cmp edi, 5
jl 0x483350
push 1
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
lea ecx, [ebp - 0x20]
cmp word [eax], 0x2d
jne 0x483331
lea eax, [edi - 3]
push eax
push 3
call fcn.0051ca10
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x24]
call fcn.005173d0
movzx eax, al
add dword [ebp - 0x84], eax
mov edi, dword [ebp - 0x70]
mov esi, dword [ebp - 0x84]
inc edi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x70], edi
call fcn.0051afe0
cmp edi, eax
jb 0x483210
lea ecx, [ebp - 0x24]
call fcn.005187c0
lea ecx, [ebp - 0x3c]
call fcn.0051dfd0
lea ecx, [ebp - 0x30]
call fcn.0051dfd0
lea ecx, [ebp - 0x20]
call fcn.0051dfd0
lea ecx, [ebp - 0x6c]
call fcn.0051b050
lea ecx, [ebp - 0x54]
call fcn.0051b050
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.0041e885
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
lea eax, [edi - 2]
push eax
push 2
call fcn.0051ca10
push ecx
push 0xffffffffffffffff
lea ecx, [ebp - 0x20]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x24]
call fcn.00518810
mov edi, dword [ebp - 0x70]
jmp 0x4832cb
push 0
push 0
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x30]
call fcn.0051d530
xor esi, esi
mov dword [ebp - 0x8c], eax
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x85], 0
mov byte [ebp - 0x7d], 0
call fcn.0051dfe0
cmp word [eax], 0x40
jne 0x4833a9
push 1
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x3d
jne 0x4833a9
push 1
lea ecx, [ebp - 0x20]
call fcn.0051ca50
jmp 0x48343a
test edi, edi
jle 0x48343a
push esi
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x22
jne 0x4833dc
cmp byte [ebp - 0x85], 0
je 0x4833cf
cmp byte [ebp - 0x7d], 0
je 0x48343a
test esi, esi
jne 0x48340f
mov byte [ebp - 0x85], 1
jmp 0x483431
push esi
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x5c
jne 0x4833f7
cmp byte [ebp - 0x7d], 0
jne 0x4833f7
mov byte [ebp - 0x7d], 1
jmp 0x483431
push esi
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x3d
jne 0x48340f
cmp byte [ebp - 0x85], 0
je 0x48343a
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x7d], 0
call fcn.0051dfe0
mov ecx, dword [ebp - 0x8c]
mov ax, word [eax]
mov word [ecx], ax
add ecx, 2
mov dword [ebp - 0x8c], ecx
inc esi
cmp esi, edi
jl 0x4833b1
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x30]
call fcn.0051dd30
push esi
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x3d
je 0x483474
nop dword [eax]
cmp esi, edi
jge 0x483474
inc esi
lea ecx, [ebp - 0x20]
push esi
call fcn.0051dfe0
cmp word [eax], 0x3d
jne 0x483460
inc esi
cmp esi, edi
jge 0x4832c2
push 0
inc esi
lea ecx, [ebp - 0x20]
push esi
call fcn.0051ca10
push 3
lea ecx, [ebp - 0x20]
call fcn.0051be70
lea ecx, [ebp - 0x20]
call fcn.0051df40
lea ecx, [ebp - 0x54]
mov esi, eax
call fcn.0051afe0
mov edi, dword [ebp - 0x70]
dec eax
cmp edi, eax
jae 0x48355a
cmp esi, 1
jle 0x483557
lea eax, [esi - 1]
push eax
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x5c
jne 0x483557
lea eax, [esi - 2]
push eax
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x5c
je 0x483557
inc edi
lea ecx, [ebp - 0x54]
push edi
call fcn.0051aff0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0051e0b0
push 3
lea ecx, [ebp - 0x3c]
call fcn.0051be70
lea ecx, [ebp - 0x3c]
call fcn.0051da30
test al, al
jne 0x483546
push 1
lea ecx, [ebp - 0x20]
call fcn.0051cac0
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.0051dd30
push eax
lea ecx, [ebp - 0x20]
call fcn.0051c4c0
lea ecx, [ebp - 0x20]
call fcn.0051df40
mov esi, eax
lea ecx, [ebp - 0x54]
call fcn.0051afe0
dec eax
cmp edi, eax
jb 0x4834b1
mov dword [ebp - 0x70], edi
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x2d
jne 0x483589
lea ecx, [ebp - 0x30]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x24]
call fcn.00517bf0
movzx eax, al
add dword [ebp - 0x84], eax
jmp 0x4832c5
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
lea ecx, [ebp - 0x20]
cmp word [eax], 0x22
jne 0x4836a0
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
call fcn.0051df40
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.0041eeca
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 6
mov dword [ebp - 0x8c], eax
mov esi, 1
mov byte [ebp - 0x7d], 0
call fcn.0051df40
cmp eax, esi
jle 0x483637
mov edi, dword [ebp - 0x8c]
push esi
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x22
jne 0x48367d
cmp byte [ebp - 0x7d], 0
je 0x48362e
push esi
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x7d], 0
call fcn.0051dfe0
mov ax, word [eax]
mov word [edi], ax
add edi, 2
lea ecx, [ebp - 0x20]
inc esi
call fcn.0051df40
cmp esi, eax
jl 0x4835f6
mov dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
mov esi, dword [ebp - 0x7c]
push ecx
push esi
mov word [eax], cx
lea ecx, [ebp - 0x30]
push 1
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x24]
call fcn.00517d20
movzx eax, al
add dword [ebp - 0x84], eax
mov byte [ebp - 4], 5
test esi, esi
je 0x4832c5
push esi
call fcn.0041e896
add esp, 4
jmp 0x4832c5
push esi
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x5c
jne 0x48360b
cmp byte [ebp - 0x7d], 0
jne 0x48360b
mov byte [ebp - 0x7d], 1
jmp 0x483621
push 6
push 1
push 1
push 0
push 0x622fbc
call fcn.0051c760
lea ecx, [ebp - 0x20]
test eax, eax
je 0x48374c
push 6
call fcn.0051ca50
push 3
lea ecx, [ebp - 0x20]
call fcn.0051be70
push 8
lea ecx, [ebp - 0x20]
call fcn.0051cb00
xorps xmm0, xmm0
push 4
movlpd qword [ebp - 0x7c], xmm0
call fcn.0041eeca
mov esi, eax
mov dword [ebp - 0x78], 4
add esp, 4
mov dword [ebp - 0x7c], esi
push 1
push 4
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 7
call fcn.0051dd30
mov edx, esi
mov ecx, eax
call fcn.0051a270
test eax, eax
je 0x483732
push 0
push esi
push 4
lea ecx, [ebp - 0x30]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x24]
call fcn.00517d20
movzx eax, al
add dword [ebp - 0x84], eax
mov byte [ebp - 4], 5
test esi, esi
je 0x4832c5
push esi
call fcn.0041e896
add esp, 4
jmp 0x4832c5
push 4
push 1
push 1
push 0
push 0x622fcc
call fcn.0051c760
lea ecx, [ebp - 0x20]
push 4
test eax, eax
je 0x483776
call fcn.0051ca50
mov esi, 3
jmp 0x48382b
push 1
push 1
push 0
push 0x622fd8
call fcn.0051c760
test eax, eax
je 0x4832c5
push 4
lea ecx, [ebp - 0x20]
call fcn.0051ca50
push 1
lea ecx, [ebp - 0x20]
call fcn.0051be70
push 3
push 1
push 1
push 1
push 0x5ff588
lea ecx, [ebp - 0x20]
call fcn.0051c760
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x4832c5
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x62
je 0x483818
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x42
je 0x483818
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x61
je 0x483811
push 0
lea ecx, [ebp - 0x20]
call fcn.0051dfe0
cmp word [eax], 0x41
je 0x483811
lea ecx, [ebp - 0x20]
call fcn.0051cce0
mov esi, eax
jmp 0x48381d
mov esi, 0xa
jmp 0x48381d
mov esi, 0xb
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x20]
call fcn.0051ca50
push 8
lea ecx, [ebp - 0x20]
call fcn.0051be70
push 0
push 0
push 0x5fe50c
push 0x5ff7b8
lea ecx, [ebp - 0x20]
call fcn.0051c000
lea ecx, [ebp - 0x20]
call fcn.0051df40
cdq
xorps xmm0, xmm0
sub eax, edx
movlpd qword [ebp - 0x74], xmm0
sar eax, 1
push eax
mov dword [ebp - 0x8c], eax
call fcn.0041eeca
mov ecx, dword [ebp - 0x8c]
add esp, 4
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
cmp esi, 0xb
mov byte [ebp - 4], 8
sete al
movzx eax, al
push eax
push ecx
lea ecx, [ebp - 0x20]
call fcn.0051dd30
mov edx, dword [ebp - 0x74]
mov ecx, eax
call fcn.0051a270
test eax, eax
je 0x4838ce
push dword [ebp - 0x8c]
lea ecx, [ebp - 0x30]
push dword [ebp - 0x74]
push esi
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x24]
call fcn.00517d20
mov esi, dword [ebp - 0x84]
movzx eax, al
add esi, eax
mov dword [ebp - 0x84], esi
jmp 0x4838d4
mov esi, dword [ebp - 0x84]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x4832cb
push eax
call fcn.0041e896
add esp, 4
jmp 0x4832cb