Function at 0x4060eb
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, ecx
mov ecx, dword [ebx + 0xd8]
cmp ecx, dword [ebx + 0x94]
push esi
push edi
mov dword [ebp - 4], ecx
jl 0x40612b
and word [ebp - 0x20], 0
xor eax, eax
inc eax
and dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4067ee
push dword [ebp - 4]
xor edi, edi
inc edi
lea ecx, [ebx + 0x8c]
mov dword [ebp - 8], edi
call fcn.00404865
cmp dword [ebx + 0xe0], 0
movzx esi, ax
je 0x4061cf
cmp si, 0x5c
jne 0x40618b
mov edi, dword [ebp - 4]
lea eax, [edi + 1]
push eax
lea ecx, [ebx + 0x8c]
call fcn.00404865
cmp ax, 0x45
jne 0x40618b
and dword [ebx + 0xe4], 0
and dword [ebx + 0xe0], 0
add edi, 2
mov dword [ebx + 0xd8], edi
xor eax, eax
jmp 0x4067ee
mov eax, dword [ebx + 0xe4]
test eax, eax
je 0x4061a2
movzx ecx, si
push ecx
call eax
pop ecx
mov word [ebp - 0x20], ax
jmp 0x4061a6
mov word [ebp - 0x20], si
and dword [ebp - 0x1c], 0
mov eax, dword [ebp - 4]
inc dword [ebx + 0xd8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 1
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4067eb
movzx eax, si
cmp eax, 0x2e
jg 0x40637f
je 0x40635d
cmp eax, 0x24
jg 0x406286
je 0x40635d
test eax, eax
je 0x4067bb
cmp eax, 8
jle 0x4067bb
cmp eax, 0xd
jle 0x406274
cmp eax, 0x20
je 0x406274
cmp eax, 0x23
jne 0x4067bb
test byte [ebx + 4], 0x20
je 0x4067bb
mov esi, dword [ebp - 4]
inc esi
cmp esi, dword [ebx + 0x94]
mov dword [ebx + 0xd8], esi
jge 0x406184
lea edi, [ebx + 0x8c]
push esi
mov ecx, edi
call fcn.00404865
cmp ax, 0xa
je 0x406184
push esi
mov ecx, edi
call fcn.00404865
cmp ax, 0xd
je 0x406184
inc esi
mov eax, esi
mov dword [ebx + 0xd8], esi
cmp eax, dword [ebx + 0x94]
jl 0x406234
jmp 0x406184
test byte [ebx + 4], 0x20
mov eax, dword [ebp - 4]
je 0x4067be
jmp 0x406357
cmp eax, 0x28
je 0x4062d1
jle 0x4067bb
cmp eax, 0x2b
jle 0x40635d
cmp eax, 0x2d
jne 0x4067bb
cmp dword [ebx + 0xdc], 0
mov word [ebp - 0x20], si
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
jle 0x406377
mov ecx, dword [ebp - 4]
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x4067d9
mov edi, dword [ebp - 4]
lea eax, [edi + 1]
push eax
lea ecx, [ebx + 0x8c]
call fcn.00404865
cmp ax, 0x3f
jne 0x40635d
add edi, 2
push edi
lea ecx, [ebx + 0x8c]
call fcn.00404865
cmp ax, 0x23
jne 0x40635d
cmp edi, dword [ebx + 0x94]
mov dword [ebx + 0xd8], edi
jge 0x406335
mov esi, dword [ebx + 0xd8]
push esi
lea ecx, [ebx + 0x8c]
call fcn.00404865
cmp ax, 0x29
je 0x406335
inc esi
mov eax, esi
mov dword [ebx + 0xd8], esi
cmp eax, dword [ebx + 0x94]
jl 0x40630c
mov eax, dword [ebx + 0xd8]
push eax
lea ecx, [ebx + 0x8c]
mov dword [ebp - 4], eax
call fcn.00404865
cmp ax, 0x29
jne 0x4067dd
mov eax, dword [ebp - 4]
inc eax
jmp 0x4064eb
cmp dword [ebx + 0xdc], 0
mov word [ebp - 0x20], si
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
jle 0x4062bd
mov eax, dword [ebp - 4]
jmp 0x4067cb
cmp eax, 0x5c
jg 0x4067a1
je 0x406429
cmp eax, 0x3a
je 0x4063ef
cmp eax, 0x3f
je 0x40635d
cmp eax, 0x5b
jne 0x4067bb
mov edi, dword [ebx + 0xdc]
test edi, edi
je 0x4063c7
mov eax, dword [ebp - 4]
push 0
inc eax
push eax
lea ecx, [ebx + 0x8c]
call fcn.0040484b
cmp ax, 0x3a
jne 0x4067bb
inc edi
mov dword [ebx + 0xdc], edi
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
mov word [ebp - 0x20], si
mov dword [ebp - 0x18], ecx
lea edi, [ebx + 0xc8]
mov dword [ebp - 0x14], eax
lea esi, [ebp - 0x20]
jmp 0x4067d9
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebx + 0xb8]
mov word [ebp - 0x20], 0x5b
mov dword [ebp - 0x1c], edi
call fcn.004047a0
test eax, eax
mov word [ebp - 0x20], si
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
je 0x406377
jmp 0x4062bd
mov eax, dword [ebp - 4]
inc eax
push eax
lea ecx, [ebx + 0x8c]
mov dword [ebp - 0x10], eax
call fcn.00404865
movzx eax, ax
mov dword [ebp - 0xc], eax
add eax, 0xffffffd0
cmp ax, 9
jbe 0x4063ce
mov ecx, dword [ebp - 0xc]
movzx eax, cx
cmp eax, 0x64
push 2
pop edi
mov dword [ebp - 8], edi
jg 0x4065bf
je 0x4066a5
cmp eax, 0x51
jg 0x40653d
je 0x4064ce
xor edx, edx
cmp eax, edx
je 0x406520
cmp eax, 0x40
jle 0x406630
cmp eax, 0x42
jle 0x4066a5
cmp eax, 0x44
je 0x4066a5
cmp eax, 0x45
je 0x406512
cmp eax, 0x47
je 0x4064dd
cmp eax, 0x4c
jne 0x406630
lea eax, [ebx + 0xe4]
cmp dword [eax], edx
jne 0x4064bb
mov ecx, dword [0x10109688]
mov dword [eax], ecx
lea eax, [ebx + 0xe4]
cmp dword [eax], 0
jne 0x4064ce
mov ecx, dword [0x10109644]
mov dword [eax], ecx
mov dword [ebx + 0xe0], 1
mov eax, dword [ebp - 4]
jmp 0x4064e8
cmp dword [ebx + 0xdc], edx
mov eax, dword [ebp - 4]
jle 0x4064f6
add eax, 2
mov dword [ebx + 0xd8], eax
jmp 0x406184
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], edi
mov word [ebp - 0x20], cx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
jmp 0x4067d6
mov dword [ebx + 0xe4], edx
mov dword [ebx + 0xe0], edx
jmp 0x4064d8
mov eax, dword [ebx + 0x94]
cmp dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], edx
jl 0x4066ac
xor eax, eax
inc eax
mov dword [ebp - 8], eax
jmp 0x4063d4
sub eax, 0x53
je 0x4066a5
sub eax, edi
je 0x4064bb
sub eax, edi
je 0x4066a5
sub eax, 3
je 0x4066a5
sub eax, 7
je 0x4065a5
dec eax
jne 0x406630
cmp dword [ebx + 0xdc], 0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], edi
lea esi, [ebp - 0x20]
mov dword [ebp - 0x18], eax
lea edi, [ebx + 0xc8]
jle 0x406595
and dword [ebp - 0x1c], 0
mov word [ebp - 0x20], 8
jmp 0x4067d9
mov word [ebp - 0x20], cx
mov dword [ebp - 0x1c], 1
jmp 0x4067d9
mov word [ebp - 0x20], 7
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], edi
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
jmp 0x4067d2
cmp eax, 0x73
jg 0x40660c
je 0x4066a5
sub eax, 0x65
je 0x406604
dec eax
je 0x4065fc
dec eax
je 0x4066a5
sub eax, 4
je 0x4066a5
sub eax, 3
je 0x4065f4
sub eax, 4
jne 0x406630
mov word [ebp - 0x20], 0xd
jmp 0x4065ab
mov word [ebp - 0x20], 0xa
jmp 0x4065ab
mov word [ebp - 0x20], 0xc
jmp 0x4065ab
mov word [ebp - 0x20], 0x1b
jmp 0x4065ab
sub eax, 0x74
je 0x406796
dec eax
je 0x4066bf
dec eax
je 0x4066b4
dec eax
je 0x4066a2
dec eax
je 0x406639
sub eax, edi
je 0x4066a2
mov ecx, dword [ebp - 0xc]
mov word [ebp - 0x20], cx
jmp 0x4065ab
mov esi, dword [ebp - 4]
add esi, 2
push esi
lea ecx, [ebx + 0x8c]
call fcn.00404865
cmp ax, 0x7b
je 0x4066bf
and dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
push edi
lea ecx, [ebx + 0x8c]
call fcn.0040487c
lea eax, [eax + esi*2]
push eax
call fcn.004047df
mov ecx, dword [ebp - 8]
and dword [ebp - 0x1c], 0
add esp, 0xc
test ecx, ecx
lea edx, [ecx + 2]
mov dword [ebp - 8], edx
lea edi, [ebx + 0xc8]
lea esi, [ebp - 0x20]
jle 0x40669c
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, edx
jmp 0x4062c9
mov ax, word [ebp - 0xc]
jmp 0x40668b
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 4]
jmp 0x4064fd
mov word [ebp - 0x20], 0xb
jmp 0x4065ab
mov esi, dword [ebp - 4]
lea edi, [esi + 2]
push edi
lea ecx, [ebx + 0x8c]
call fcn.00404865
cmp ax, 0x7b
lea ecx, [ebx + 0x8c]
je 0x406725
and dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
push 4
call fcn.0040487c
lea eax, [eax + edi*2]
push eax
call fcn.004047df
mov ecx, dword [ebp - 8]
and dword [ebp - 0x1c], 0
add esp, 0xc
test ecx, ecx
lea edx, [ecx + 2]
mov dword [ebp - 8], edx
lea edi, [ebx + 0xc8]
jle 0x40671f
mov word [ebp - 0x20], ax
mov eax, esi
mov dword [ebp - 0x18], eax
mov eax, edx
jmp 0x4063e4
mov ax, word [ebp - 0xc]
jmp 0x40670f
and dword [ebp - 0xc], 0
lea eax, [ebp - 0xc]
push eax
push 8
call fcn.0040487c
lea eax, [eax + esi*2 + 6]
push eax
call fcn.004047df
mov edi, dword [ebp - 0xc]
add esp, 0xc
add edi, 2
mov dword [ebp - 0x10], eax
lea eax, [esi + edi]
jmp 0x40676f
push 0
lea eax, [esi + edi]
push eax
lea ecx, [ebx + 0x8c]
call fcn.0040484b
cmp ax, 0x7d
je 0x40677a
mov eax, dword [ebx + 0xd8]
inc edi
add eax, edi
cmp eax, dword [ebx + 0x94]
mov dword [ebp - 8], edi
jl 0x40674f
mov ax, word [ebp - 0x10]
inc dword [ebp - 8]
and dword [ebp - 0x1c], 0
mov word [ebp - 0x20], ax
mov eax, esi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
jmp 0x4063de
mov word [ebp - 0x20], 9
jmp 0x4065ab
cmp eax, 0x5d
je 0x40687b
cmp eax, 0x5e
je 0x4067f3
add eax, 0xffffff85
cmp eax, 2
jbe 0x40635d
mov eax, dword [ebp - 4]
mov word [ebp - 0x20], si
lea esi, [ebp - 0x20]
lea edi, [ebx + 0xc8]
mov dword [ebp - 0x14], 1
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
add eax, ecx
mov dword [ebx + 0xd8], eax
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret
cmp dword [ebx + 0xdc], 0
je 0x4063ce
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x20]
lea ecx, [ebx + 0xb8]
push eax
mov word [ebp - 0x20], 0x5b
mov dword [ebp - 0x1c], edi
call fcn.004047a0
test eax, eax
jne 0x4063ce
and dword [ebp - 0x18], eax
and dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebx + 0xa8]
mov word [ebp - 0x20], 0x5b
mov dword [ebp - 0x1c], edi
call fcn.004047a0
test eax, eax
je 0x4067bb
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebx + 0xb8]
mov word [ebp - 0x20], 0x3a
mov dword [ebp - 0x1c], edi
call fcn.004047a0
test eax, eax
je 0x4067bb
jmp 0x4063ce
lea eax, [ebx + 0xdc]
mov ecx, dword [eax]
test ecx, ecx
jle 0x4067bb
dec ecx
mov dword [eax], ecx
jmp 0x4063ce